FMUSER 무선 전송 비디오 및 오디오가 더 쉬워졌습니다!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> 아프리칸스어
sq.fmuser.org -> 알바니아어
ar.fmuser.org -> 아랍어
hy.fmuser.org -> 아르메니아어
az.fmuser.org -> 아제르바이잔 어
eu.fmuser.org -> 바스크
be.fmuser.org -> 벨로루시 어
bg.fmuser.org -> 불가리아어
ca.fmuser.org -> 카탈로니아 어
zh-CN.fmuser.org -> 중국어 (간체)
zh-TW.fmuser.org -> 중국어 (번체)
hr.fmuser.org -> 크로아티아어
cs.fmuser.org -> 체코
da.fmuser.org -> 덴마크어
nl.fmuser.org -> 네덜란드어
et.fmuser.org -> 에스토니아어
tl.fmuser.org -> 필리피노
fi.fmuser.org -> 핀란드어
fr.fmuser.org -> 프랑스어
gl.fmuser.org -> 갈리시아어
ka.fmuser.org -> 조지아 어
de.fmuser.org -> 독일어
el.fmuser.org -> 그리스
ht.fmuser.org -> 아이티 크리올
iw.fmuser.org -> 히브리어
hi.fmuser.org -> 힌디어
hu.fmuser.org 헝가리어
is.fmuser.org -> 아이슬란드 어
id.fmuser.org -> 인도네시아어
ga.fmuser.org -> 아일랜드어
it.fmuser.org -> 이탈리아어
ja.fmuser.org -> 일본어
ko.fmuser.org -> 한국어
lv.fmuser.org -> 라트비아어
lt.fmuser.org 리투아니아어
mk.fmuser.org -> 마케도니아 어
ms.fmuser.org -> 말레이어
mt.fmuser.org -> 몰타어
no.fmuser.org -> 노르웨이어
fa.fmuser.org -> 페르시아어
pl.fmuser.org -> 폴란드어
pt.fmuser.org -> 포르투갈어
ro.fmuser.org -> 루마니아어
ru.fmuser.org -> 러시아어
sr.fmuser.org -> 세르비아어
sk.fmuser.org -> 슬로바키아어
sl.fmuser.org -> 슬로베니아어
es.fmuser.org -> 스페인어
sw.fmuser.org -> 스와힐리
sv.fmuser.org -> 스웨덴어
th.fmuser.org -> 태국
tr.fmuser.org -> 터키어
uk.fmuser.org -> 우크라이나어
ur.fmuser.org -> 우르두어
vi.fmuser.org -> 베트남어
cy.fmuser.org -> 웨일스 어
yi.fmuser.org -> 이디시어
HLS 및 Http Live Streaming은 Apple에서 정의한 실시간 스트리밍을위한 프로토콜입니다. HLS는 HTTP 프로토콜을 기반으로 구현됩니다. 전송 내용은 두 부분으로 구성되는데 하나는 M3U8 설명 파일이고 다른 하나는 TS 미디어 파일입니다.
1. M3U8 파일
미디어 파일은 일련의 태그로 구성된 텍스트로 설명됩니다.
#EXTM3U
# EXT-X-TARGETDURATION : 5
#EXTINF : 5,
./0.ts
#EXTINF : 5,
./1.ts
# EXTM3U : 각 M3U8 파일의 첫 번째 줄은이 태그 여야합니다.
# EXT-X-TARGETDURATION : 최대 미디어 세그먼트 시간 길이 (초)를 지정합니다. #EXTINF에 지정된 시간 길이는이 최대 값보다 작거나 같아야합니다. 이 값은 한 번만 나타날 수 있습니다.
#EXTINF : 단일 미디어 파일의 길이를 설명합니다. ./0.ts와 같은 미디어 파일이 이어집니다.
iOS 기기 및 Mac에서 HTTP로 배포 할 수 있습니다. 재생 목록 표준은 m3u에 의해 확장 된 m8u3 파일이며 미디어 파일은 MPEG2-TS 또는 AAC 파일 (오디오 전용)입니다.
m3u8 파일에 대한 두 가지 애플리케이션 시나리오가 있습니다.
다중 속도 적응 스트림,
#EXTM3U
# EXT-X-STREAM-INF : PROGRAM-ID = 1, BANDWIDTH = 1280000
# EXT-X-STREAM-INF : PROGRAM-ID = 1, BANDWIDTH = 2560000
# EXT-X-STREAM-INF : PROGRAM-ID = 1, BANDWIDTH = 7680000
# EXT-X-STREAM-INF : PROGRAM-ID = 1, BANDWIDTH = 65000, CODECS = "mp4a.40.5"
http://example.com/audio-only.m3u8
단일 속도 적응 스트림
#EXTM3U
# EXT-X-TARGETDURATION : 5220
#EXTINF : 5220,
http://media.example.com/entire.ts
# EXT-X-ENDLIST
국제 표준기구는이 rfc 문서를 정의합니다.
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
m3u8 파일은 m3u 파일의 확장명입니다. 확장 키워드는 rfc에 정의됩니다.
그들 중 :
# EXT-X-TARGETDURATION
각 TS의 최대 기간을 정의합니다.
# EXT-X-MEDIA-SEQUENCE
현재 m3u8 파일에서 첫 번째 파일의 일련 번호를 정의합니다. 각 ts 파일에는 m3u8 파일에 고정되고 고유 한 일련 번호가 있습니다. 일련 번호는 MBR 중에 정렬을위한 코드 속도를 전환하는 데 사용됩니다.
# EXT-X-KEY
ts 파일을 디코딩하기 위해 16 바이트 키 파일을 얻는 데 사용되는 암호화 방법과 키 파일의 URL을 정의합니다.
속성 :
방법
URL
# EXT-X- 프로그램-날짜-시간
첫 번째 파일의 절대 시간
# EXT-X-ALLOW-CACHE
캐시 허용 여부.
# EXT-X-ENDLIST
m3u8 파일의 끝을 나타냅니다. Live m3u8에는이 태그가 없습니다.
# EXT-X-STREAM-INF
속성 :
BANDWIDTH는 비트 전송률을 지정합니다.
PROGRAM-ID 고유 ID
CODECS는 스트림의 인코딩 유형을 지정합니다.
# EXT-X- 불연속
태그가 발견되면 다음 속성이 변경되었습니다.
파일 형식
트랙 수 및 유형
인코딩 매개 변수
인코딩 시퀀스
타임 스탬프 시퀀스
# EXT-X-VERSION이 속성은 사용 여부에 관계없이 사용할 수 없습니다.
M3U8은 최상위 M3U8과 3 단계 M8U3로 나뉩니다. 최상위 수준 M8U3은 주로 다중 속도 적응에 사용됩니다. 두 번째 레벨 M8UXNUMX은 실제 슬라이스 파일입니다.
기본적으로 클라이언트는 먼저 비트 전송률이 가장 높은 요청을 선택합니다. 전송률에 도달 할 수없는 경우 낮은 전송률의 스트림을 요청합니다.
실제 사용되는 최상위 M3U8 파일은 다음과 같습니다.
#EXTM3U
# EXT-X-STREAM-INF : PROGRAM-ID = 201273221265, BANDWIDTH = 358400
11.m3u8
# EXT-X-STREAM-INF : PROGRAM-ID = 201273221265, BANDWIDTH = 972800
22.m3u8
위의 최상위 M3U8 파일은 두 개의 두 번째 수준 파일 인 11.m3u8 및 22.m3u8을 정의하며 클라이언트는 그 중 하나를 선택하여 콘텐츠를 가져옵니다.
보조 M3U8 파일의 내용은 다음과 같습니다.
#EXTM3U
# EXT-X-VERSION : 1
# EXT-X-TARGETDURATION : 10
# EXT-X-MEDIA-SEQUENCE : 0
#EXTINF : 3,
1-4.ts
#EXTINF : 8,
1-6.ts
#EXTINF : 8,
1-8.ts
#EXTINF : 8,
1-10.ts
#EXTINF : 8,
1-12.ts
#EXTINF : 8,
1-14.ts
#EXTINF : 8,
1-16.ts
#EXTINF : 9,
1-18.ts
#EXTINF : 6,
1-20.ts
#EXTINF : 8,
1-22.ts
#EXTINF : 9,
1-24.ts
#EXTINF : 3,
1-26.ts
# EXT-X-ENDLIST
클라이언트가 위의 3 차 M8UXNUMX 파일을받은 후 계속해서 내부 파일을 요청한 다음 재생할 수 있습니다.
위 내용은 주문형 상황과 생방송 상황에 대한 것입니다. M3U8 파일에는 라이브임을 알리는 속성이 있으며 클라이언트는 주기적으로 새 M3U8 파일을 요청합니다.
// HLS가 주문형 및 생방송을 실현하면 M3U8 파일의 차이점
1. 문제 설명
최근에 HLS (HTTP Live Streaming)를 사용하여 라이브 방송을 수행하는 트랜스 코딩 된 슬라이스 재생 테스트를 수행했습니다. 각 TS 분할 시간은 10 초이며 TS 분할 파일에 따라 다음 라이브 m3u8 파일이 생성됩니다.
코드 복사
#EXTM3U
# EXT-X-MEDIA-SEQUENCE : 1
# EXT-X-TARGETDURATION : 10
#EXTINF : 10
hls / 1.ts
#EXTINF : 10
hls / 2.ts
#EXTINF : 10
hls / 3.ts
#EXTINF : 10
hls / 4.ts
#EXTINF : 10
hls / 5.ts
#EXTINF : 10
hls / 6.ts
#EXTINF : 10
hls / 7.ts
#EXTINF : 10
hls / 8.ts
#EXTINF : 10
hls / 9.ts
#EXTINF : 10
hls / 10.ts
코드 복사
위의 m3u8 파일을 live.m3u8로 저장하고 Apache 문서 디렉토리에 넣고 VLC로 다음 URL을 재생합니다.
http://localhost/live.m3u8
테스트 결과 재생을 시작한 첫 번째 파일은 1.ts가 아닙니다. 여러 테스트 후 다음과 같은 사실이 발견되었습니다.
목록에 XNUMX 개 이상의 파일이 있으면 목록의 마지막 XNUMX 개 파일이 항상 재생됩니다.
2. 문제 해결
인터넷을 검색 한 결과 효과적인 정보를 찾지 못한 것이 매우 슬프다. 친구도 같은 상황을 만났는데, 그것을 해결 한 후 자신의 경험을 공유 했습니까?
동료와 협의 한 후 동료는 라이브 m3u8 파일 목록을 실시간으로 업데이트해야하기 때문에 가능하다고 말했다. 테스트를하면 먼저 끝에 # EXT-X-ENDLIST를 추가 할 수 있습니다. 이 방법은 테스트되었습니다. 작동하지만 더 이상 라이브 m3u8 모드가 아닙니다.
인터넷을 다시 검색 한 후 마침내 라이브 m3u8 설명을 찾았다는 것을 확인했습니다
라이브 재생 목록 (슬라이딩 창)
라이브 세션의 경우 새 미디어 파일이 생성되고 사용 가능해질 때 파일에서 미디어 URI를 제거하여 인덱스 파일이 업데이트됩니다.
중요 : EXT-X-ENDLIST 태그는 라이브 재생 목록에 없습니다. 이는 새 미디어 파일이 사용 가능 해지면 인덱스 파일에 추가 될 것임을 나타냅니다.
세션 시작시 표시되는 라이브 재생 목록의 예는 목록 3을 참조하십시오.
목록 3 세션 시작시 라이브 재생 목록.
코드 복사
#EXTM3U
# EXT-X-TARGETDURATION : 10
# EXT-X-VERSION : 3
# EXT-X-MEDIA-SEQUENCE : 1
#EXTINF : 10,
파일시퀀스1.ts
#EXTINF : 10,
파일시퀀스2.ts
#EXTINF : 10,
파일시퀀스3.ts
#EXTINF : 10,
파일시퀀스4.ts
#EXTINF : 10,
파일시퀀스5.ts
코드 복사
EXT-X-MEDIA-SEQUENCE 태그 값은 재생 목록 파일에서 제거 된 모든 미디어 URI에 대해 1 씩 증가해야합니다. 미디어 URI는 재생 목록에 나타나는 순서대로 재생 목록 파일에서 제거되어야합니다. 업데이트 된 인덱스 파일은 이동 창을 연속 스트림으로 표시합니다. 이 유형의 세션은 연속 방송에 적합합니다.
새 미디어 URI로 업데이트 된 후 동일한 재생 목록은 다음과 같습니다.
목록 4 미디어 URI를 업데이트 한 후의 라이브 재생 목록.
코드 복사
#EXTM3U
# EXT-X-TARGETDURATION : 10
# EXT-X-VERSION : 3
# EXT-X-MEDIA-SEQUENCE : 2
#EXTINF : 10,
파일시퀀스2.ts
#EXTINF : 10,
파일시퀀스3.ts
#EXTINF : 10,
파일시퀀스4.ts
#EXTINF : 10,
파일시퀀스5.ts
#EXTINF : 10,
파일시퀀스6.ts
코드 복사
3.live m3u8 업데이트 규칙
라이브 m3u8 파일 목록은 지속적으로 업데이트해야하며 규칙을 업데이트해야합니다.
파일 재생 목록에서 최상위 (재생 된 것으로 생각되는) 파일 제거
EXT-X-MEDIA-SEQUENCE 태그를 지속적으로 업데이트하고 1 씩 증가시킵니다.
4. 실험
테스트를 위해 라이브 m3u8을 생성하는 작은 프로그램 작성
용법:
m3u8_gen.exe start_num list_count 기간 파일 이름 .m3u8 [접두사]
사용 예 :
m3u8_gen.exe 1 3 10 live.m3u8 hls /
live.m3u8 파일을 다음과 같이 생성하십시오.
코드 복사
#EXTM3U
# EXT-X-MEDIA-SEQUENCE : 1
# EXT-X-TARGETDURATION : 10
#EXTINF : 10
hls / 1.ts
#EXTINF : 10
hls / 2.ts
#EXTINF : 10
hls / 3.ts
코드 복사
3 초마다 live.m8u10 파일을 업데이트하는 BAT 스크립트 작성
코드 복사
@ 오프 에코
f
|
놀라움을 얻으려면 이메일을 입력하십시오.
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> 아프리칸스어
sq.fmuser.org -> 알바니아어
ar.fmuser.org -> 아랍어
hy.fmuser.org -> 아르메니아어
az.fmuser.org -> 아제르바이잔 어
eu.fmuser.org -> 바스크
be.fmuser.org -> 벨로루시 어
bg.fmuser.org -> 불가리아어
ca.fmuser.org -> 카탈로니아 어
zh-CN.fmuser.org -> 중국어 (간체)
zh-TW.fmuser.org -> 중국어 (번체)
hr.fmuser.org -> 크로아티아어
cs.fmuser.org -> 체코
da.fmuser.org -> 덴마크어
nl.fmuser.org -> 네덜란드어
et.fmuser.org -> 에스토니아어
tl.fmuser.org -> 필리피노
fi.fmuser.org -> 핀란드어
fr.fmuser.org -> 프랑스어
gl.fmuser.org -> 갈리시아어
ka.fmuser.org -> 조지아 어
de.fmuser.org -> 독일어
el.fmuser.org -> 그리스
ht.fmuser.org -> 아이티 크리올
iw.fmuser.org -> 히브리어
hi.fmuser.org -> 힌디어
hu.fmuser.org 헝가리어
is.fmuser.org -> 아이슬란드 어
id.fmuser.org -> 인도네시아어
ga.fmuser.org -> 아일랜드어
it.fmuser.org -> 이탈리아어
ja.fmuser.org -> 일본어
ko.fmuser.org -> 한국어
lv.fmuser.org -> 라트비아어
lt.fmuser.org 리투아니아어
mk.fmuser.org -> 마케도니아 어
ms.fmuser.org -> 말레이어
mt.fmuser.org -> 몰타어
no.fmuser.org -> 노르웨이어
fa.fmuser.org -> 페르시아어
pl.fmuser.org -> 폴란드어
pt.fmuser.org -> 포르투갈어
ro.fmuser.org -> 루마니아어
ru.fmuser.org -> 러시아어
sr.fmuser.org -> 세르비아어
sk.fmuser.org -> 슬로바키아어
sl.fmuser.org -> 슬로베니아어
es.fmuser.org -> 스페인어
sw.fmuser.org -> 스와힐리
sv.fmuser.org -> 스웨덴어
th.fmuser.org -> 태국
tr.fmuser.org -> 터키어
uk.fmuser.org -> 우크라이나어
ur.fmuser.org -> 우르두어
vi.fmuser.org -> 베트남어
cy.fmuser.org -> 웨일스 어
yi.fmuser.org -> 이디시어
FMUSER 무선 전송 비디오 및 오디오가 더 쉬워졌습니다!
Contact
주소:
No.305 Room HuiLan Building No.273 Huanpu Road 광저우 중국 510620
카테고리
MMCC 뉴스레터