>일반적인 문제 >m3u8은 어떤 형식의 파일인가요?

m3u8은 어떤 형식의 파일인가요?

青灯夜游
青灯夜游원래의
2021-03-11 13:39:49162148검색

m3u8은 UTF-8 인코딩 형식의 M3U 파일을 의미합니다. M3U 파일을 열면 재생 소프트웨어가 해당 파일을 재생하지 않지만 해당 오디오 및 비디오 파일의 네트워크 주소를 찾습니다. 색인을 기반으로 온라인으로 플레이하세요.

m3u8은 어떤 형식의 파일인가요?

이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.

1. M3U8 소개

M3U8 파일은 UTF-8 인코딩 형식의 M3U 파일을 나타냅니다(M3U는 Latin-1 문자 세트 인코딩을 사용합니다). M3U 파일은 색인을 기록하는 일반 텍스트 파일입니다. 파일을 열면 재생 소프트웨어가 해당 파일을 재생하지 않지만 온라인 재생을 위해 해당 색인을 기반으로 해당 오디오 및 비디오 파일의 네트워크 주소를 찾습니다.

m3u8은 어떤 형식의 파일인가요?
m3u8 재생 프로세스.png

M3U8은 주로 파일 목록 형태로 존재하는 일반적인 스트리밍 미디어 형식이며, 특히 라이브 방송과 주문형 재생을 모두 지원합니다. Android 및 iOS와 같은 플랫폼에서 일반적으로 사용됩니다.

2. M3U8 인코딩 형식

m3u8은 기본적으로 .m3u 형식 파일로 간주될 수 있습니다. 차이점은 m3u8 파일이 UTF-8 문자 인코딩을 사용한다는 것입니다. 3#EXTM3U M3U 파일 헤더, 첫 번째 줄에 위치해야 함
#EXT-X-Media-sequence의 첫 번째 TS 샤드 일련 번호
#EXT-X-TargetDuration 각 최대 시간
#EXT
#EXT -X-Allow-Cache 허용 여부 Cache
#EXT-X-ENDList M3U8 File End Fun
#Extinf Extra Info, 조각 TS(기간, 대역폭 등) 전체 PlayList 파일에 유효한 가변성 정보는 선택 사항입니다. 형식은 다음과 같습니다: #EXT-X-PLAYLIST-TYPE: VOD(또는 EVENT). VOD는 서버가 PlayList 파일을 변경할 수 없음을 의미하고, EVENT는 서버가 PlayList 파일의 어떤 부분도 변경하거나 삭제할 수 없지만 파일에 새 줄을 추가할 수 있음을 의미합니다.

사례 1:

M3U8 파일 참조 링크: https://dco4urblvsasc.cloudfront.net/811/81095_ywfZjAuP/game/1000kbps.m3u8 및 콘텐츠:

#EXTM3U
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-TARGETDURATION:10
#EXTINF:10,
1000kbps-00001.ts
#EXTINF:10,
1000kbps-00002.ts

...

#EXTINF:10,
1000kbps-00099.ts
#EXTINF:10,
1000kbps-00100.ts
#ZEN-TOTAL-DURATION:999.70000
#ZEN-AVERAGE-BANDWIDTH:1098134
#ZEN-MAXIMUM-BANDWIDTH:1700874
#EXT-X-ENDLIST
이 형태의 재생 및 다운로드 링크는 연결되어야 합니다. 예를 들어, 첫 번째 TS 조각의 링크는 https://dco4urblvsasc.cloudfront.net/811/81095_ywfZjAuP/game/1000kbps-00001.ts입니다. 즉, 인덱스 파일의 경로 1000kbps-00001.ts가 대체됩니다. m3u8 링크 끝의 1000kbps(즉, lastPathComponent).

사례 2:

使用云图TV点播直播节目时,发送请求:
http://121.199.63.236:7613/m3u8/cckw1/szws.m3u8?from=bab&fun=yes&chk=y&chunk=xax&ppw=yuntutv&auth=yuntutvyuntutvyuntutv&auth=yuntutvyuntutvyuntutv&nwtime=1406515232&sign=033d5483609e6bc87987fc7d2f30a024

返回M3U8文件,文件内容如下:
#EXTM3U
#EXT-X-MEDIA-SEQUENCE:140651513
#EXT-X-TARGETDURATION:10
#EXTINF:8,
http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651513[140651513].ts
#EXTINF:9,
http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651514[140651514].ts
#EXTINF:11,
http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651515[140651515].ts
#EXTINF:10,
http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651516[140651516].ts
#EXTINF:12,
http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651517[140651517].ts
#EXTINF:8,
http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651518[140651518].ts
#EXTINF:12,
http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651519[140651519].ts
#EXTINF:8,
http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651520[140651520].ts
#EXTINF:9,
http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651521[140651521].ts
#EXTINF:13,
http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651522[140651522].ts

...
이 형식의 재생 및 다운로드 링크: 인덱스 파일에 직접 표시됩니다.

3. M3U8의 장점

1. 다양한 코드 속도에 적응할 수 있습니다. 원활한 비디오 스트리밍을 보장하기 위해 클라이언트는 네트워크 대역폭에 따라 자체 비트 전송률에 적합한 파일을 자동으로 선택하여 재생합니다. 대표적인 것이 Apple의 HLS(HTTP Live Streaming)입니다. HLS에는 적응형 스트리밍 기능이 있습니다. 클라이언트는 네트워크 상태에 따라 다른 비트 전송률을 사용하여 자동으로 비디오 스트림을 선택할 수 있습니다. 조건이 허용되면 높은 비트 전송률을 사용하고 네트워크 사용량이 많을 때는 자동으로 둘 사이를 전환합니다. 할 것이다. 이는 모바일 기기의 네트워크 상태가 불안정할 때 원활한 재생을 보장하는데 매우 유용합니다.

2. 원본 서버의 부하 압력을 줄입니다. M3U의 특징은 스트리밍 미디어를 여러 개의 TS 조각으로 나눈 다음 클라이언트 플레이어가 수신할 수 있도록 확장된 m3u 목록 파일을 통해 이러한 TS 조각을 수집하는 것입니다. RTSP 프로토콜을 사용하는 것과 비교할 때 이 방법의 장점은 일단 분할이 완료되면 후속 배포 프로세스에서 추가 특수 소프트웨어를 사용할 필요가 없으므로 일반 네트워크 서버를 사용할 수 있으므로 구성 요구 사항이 크게 줄어듭니다. CDN 에지 서버이며 기성 CDN을 사용할 수 있습니다. 배포에 사용되는 가장 일반적인 프로토콜은 HTTP입니다. 이 프로토콜에 대한 프록시 서버의 캐싱 최적화는 상당히 성숙한 반면, RTSP에 대한 캐싱 최적화 기능을 갖춘 프록시 서버는 거의 없습니다.

3. 실시간이 아닌 비디오의 경우에도 이점이 있습니다. HTTP 프로토콜을 사용하여 단일 MP4 형식 비디오 파일을 재생할 때 프록시 서버는 대용량 파일의 일부를 얻기 위해 HTTP 범위 요청을 지원해야 합니다. 모든 프록시 서버가 이를 수행합니다. 좋은 지원이 있습니다. 반면 M3U는 목록 파일의 타임라인을 기반으로 다운로드할 해당 TS 조각만 찾으면 되며, 범위 요청이 필요하지 않으며 프록시 서버에 대한 요구 사항이 훨씬 적습니다. 모든 프록시 서버는 작은 파일의 효율적인 캐싱을 지원합니다.

4. MP4 대신 TS를 사용하는 이유는 두 개의 TS 클립을 연속해서 재생할 수 있기 때문입니다. 그러나 MP4 파일의 인코딩 방식으로 인해 두 개의 MP4 클립을 원활하게 연결할 수는 없습니다. ​2개의 MP4 파일을 재생하면 소리가 깨지고 이미지가 간헐적으로 재생되어 사용자 경험에 영향을 미칠 수 있습니다.

더 많은 관련 지식을 알고 싶다면

FAQ 칼럼을 방문해주세요!

위 내용은 m3u8은 어떤 형식의 파일인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.