FMUSER Truyền video và âm thanh không dây dễ dàng hơn!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Người Afrikaans
sq.fmuser.org -> Tiếng Albania
ar.fmuser.org -> tiếng Ả Rập
hy.fmuser.org -> Armenia
az.fmuser.org -> Azerbaijan
eu.fmuser.org -> Basque
be.fmuser.org -> Tiếng Belarus
bg.fmuser.org -> Tiếng Bulgaria
ca.fmuser.org -> Catalan
zh-CN.fmuser.org -> Tiếng Trung (Giản thể)
zh-TW.fmuser.org -> Trung Quốc (truyền thống)
hr.fmuser.org -> Tiếng Croatia
cs.fmuser.org -> Tiếng Séc
da.fmuser.org -> Đan Mạch
nl.fmuser.org -> Hà Lan
et.fmuser.org -> Tiếng Estonia
tl.fmuser.org -> Phi Luật Tân
fi.fmuser.org -> Phần Lan
fr.fmuser.org -> Pháp
gl.fmuser.org -> Galicia
ka.fmuser.org -> tiếng Georgia
de.fmuser.org -> Đức
el.fmuser.org -> Hy Lạp
ht.fmuser.org -> Tiếng Creole của Haiti
iw.fmuser.org -> Tiếng Do Thái
hi.fmuser.org -> Tiếng Hindi
hu.fmuser.org -> Hungary
is.fmuser.org -> tiếng Iceland
id.fmuser.org -> tiếng Indonesia
ga.fmuser.org -> Ailen
it.fmuser.org -> Ý
ja.fmuser.org -> Nhật Bản
ko.fmuser.org -> Hàn Quốc
lv.fmuser.org -> Tiếng Latvia
lt.fmuser.org -> Tiếng Litva
mk.fmuser.org -> Người Macedonian
ms.fmuser.org -> Mã Lai
mt.fmuser.org -> Maltese
no.fmuser.org -> Na Uy
fa.fmuser.org -> tiếng Ba Tư
pl.fmuser.org -> Tiếng Ba Lan
pt.fmuser.org -> tiếng Bồ Đào Nha
ro.fmuser.org -> Rumani
ru.fmuser.org -> tiếng Nga
sr.fmuser.org -> Tiếng Serbia
sk.fmuser.org -> Tiếng Slovak
sl.fmuser.org -> Tiếng Slovenia
es.fmuser.org -> tiếng Tây Ban Nha
sw.fmuser.org -> Tiếng Swahili
sv.fmuser.org -> Thụy Điển
th.fmuser.org -> Thái
tr.fmuser.org -> Thổ Nhĩ Kỳ
uk.fmuser.org -> Tiếng Ukraina
ur.fmuser.org -> Tiếng Urdu
vi.fmuser.org -> Tiếng việt
cy.fmuser.org -> tiếng Wales
yi.fmuser.org -> Yiddish
HLS và Http Live Streaming là các giao thức phát trực tuyến thời gian thực do Apple xác định. HLS được thực hiện dựa trên giao thức HTTP. Nội dung truyền bao gồm hai phần, một là tệp mô tả M3U8, hai là tệp phương tiện TS.
1. Tệp M3U8
Tệp phương tiện được mô tả dưới dạng văn bản, bao gồm một loạt các thẻ.
#EXTM3U
# EXT-X-TARGETDURATION: 5
#EXTINF: 5,
./0.ts
#EXTINF: 5,
./1.ts
# EXTM3U: Dòng đầu tiên của mỗi tệp M3U8 phải là thẻ này.
# EXT-X-TARGETDURATION: Chỉ định độ dài thời gian tối đa của đoạn phương tiện (giây). Khoảng thời gian được chỉ định trong #EXTINF phải nhỏ hơn hoặc bằng giá trị lớn nhất này. Giá trị này chỉ có thể xuất hiện một lần.
#EXTINF: Mô tả độ dài của một tệp phương tiện. Các tệp phương tiện theo sau, chẳng hạn như ./0.ts
Nó có thể được phân phối bằng HTTP trên thiết bị iOS và mac. Tiêu chuẩn danh sách phát là tệp m3u8 được mở rộng bởi m3u và tệp phương tiện là tệp MPEG2-TS hoặc AAC (chỉ âm thanh).
Có hai tình huống ứng dụng cho tệp m3u8:
Dòng thích ứng đa tỷ lệ,
#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
Luồng thích ứng tốc độ đơn
#EXTM3U
# EXT-X-TARGETDURATION: 5220
#EXTINF: 5220,
http://media.example.com/entire.ts
# EXT-X-ENDLIST
Tổ chức tiêu chuẩn quốc tế định nghĩa tài liệu rfc này:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
Tệp m3u8 là phần mở rộng của tệp m3u. Các từ khóa mở rộng được định nghĩa trong rfc:
trong số đó:
# EXT-X-TARGETDURATION
Xác định thời lượng tối đa của mỗi TS.
# EXT-X-MEDIA-SEQUENCE
Xác định số sê-ri của tệp đầu tiên trong tệp m3u8 hiện tại. Mỗi tệp ts có một số sê-ri cố định và duy nhất trong tệp m3u8. Số sê-ri được sử dụng để chuyển đổi tốc độ mã cho sự liên kết trong MBR.
# EXT-X-KEY
Xác định phương pháp mã hóa và url của tệp khóa, được sử dụng để lấy tệp khóa 16byte để giải mã tệp ts.
Các thuộc tính:
PHƯƠNG PHÁP
URL
# EXT-X-CHƯƠNG TRÌNH-NGÀY-THỜI GIAN
Thời gian tuyệt đối của tệp đầu tiên
# EXT-X-ALLOW-CACHE
Có cho phép bộ nhớ cache hay không.
# EXT-X-ENDLIST
Cho biết phần cuối của tệp m3u8. Live m3u8 không có thẻ này.
# EXT-X-STREAM-INF
Các thuộc tính:
BANDWIDTH chỉ định tốc độ bit
ID duy nhất của chương trình-ID
CODECS chỉ định kiểu mã hóa của luồng
# EXT-X-DISCONTINUITY
Khi gặp thẻ, các thuộc tính sau đã thay đổi:
định dạng tập tin
số lượng và loại bản nhạc
thông số mã hóa
trình tự mã hóa
chuỗi dấu thời gian
# EXT-X-VERSION Thuộc tính này có thể được sử dụng hoặc không, bạn có thể không có
M3U8 được chia thành M3U8 cấp cao nhất và M3U8 cấp hai. M3U8 cấp cao nhất chủ yếu được sử dụng để thích ứng đa tỷ lệ. M3U8 cấp thứ hai là tệp lát cắt thực.
Theo mặc định, trước tiên máy khách sẽ chọn yêu cầu có tốc độ bit cao nhất. Nếu nó nhận thấy rằng không thể đạt được tốc độ bit, nó sẽ yêu cầu một luồng có tốc độ bit thấp
Tệp M3U8 cấp cao nhất trong thực tế sử dụng như sau:
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, BANDWIDTH = 358400
11.m3u8
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, BANDWIDTH = 972800
22.m3u8
Tệp M3U8 cấp cao nhất ở trên xác định hai tệp cấp hai, 11.m3u8 và 22.m3u8 và ứng dụng khách sẽ chọn một trong số chúng để lấy nội dung của nó.
Nội dung của tệp M3U8 phụ như sau:
#EXTM3U
# PHIÊN BẢN EXT-X: 1
# EXT-X-TARGETDURATION: 10
# EXT-X-MEDIA-SEQUENCE: 0
#EXTINF: 3,
1-4.t
#EXTINF: 8,
1-6.t
#EXTINF: 8,
1-8.t
#EXTINF: 8,
1-10.t
#EXTINF: 8,
1-12.t
#EXTINF: 8,
1-14.t
#EXTINF: 8,
1-16.t
#EXTINF: 9,
1-18.t
#EXTINF: 6,
1-20.t
#EXTINF: 8,
1-22.t
#EXTINF: 9,
1-24.t
#EXTINF: 3,
1-26.t
# EXT-X-ENDLIST
Sau khi khách hàng nhận được tệp M3U8 thứ cấp ở trên, nó sẽ tiếp tục yêu cầu tệp bên trong và sau đó nó có thể được phát.
Trên đây là về tình hình theo yêu cầu và tình hình phát trực tiếp, sẽ có các thuộc tính trong tệp M3U8 cho biết nó đang phát trực tiếp, và định kỳ khách hàng sẽ yêu cầu tệp M3U8 mới.
// Khi HLS nhận ra theo yêu cầu và phát trực tiếp, sự khác biệt của tệp M3U8
1. Mô tả vấn đề
Gần đây, tôi đã thực hiện kiểm tra phát lại lát cắt được chuyển mã, sử dụng HLS (Truyền trực tiếp HTTP) để phát trực tiếp. Mỗi thời gian phân đoạn TS là 10 giây và các tệp m3u8 trực tiếp sau được tạo theo các tệp phân đoạn TS
Sao chép mã
#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
Sao chép mã
Lưu tệp m3u8 ở trên dưới dạng live.m3u8, đặt nó trong thư mục tài liệu Apache và phát URL sau với VLC:
http://localhost/live.m3u8
Kiểm tra cho thấy rằng tệp đầu tiên bắt đầu phát không phải là 1.ts. Sau một số thử nghiệm, người ta thấy rằng:
Miễn là có nhiều hơn ba tệp trong danh sách, ba tệp cuối cùng trong danh sách luôn được phát
KHAI THÁC. Giải quyết vấn đề
Rất buồn là sau khi tìm kiếm trên Internet, tôi không tìm thấy bất kỳ thông tin hiệu quả nào. Một người bạn cũng gặp phải trường hợp tương tự, bạn ấy có chia sẻ kinh nghiệm sau khi giải quyết được không?
Sau khi tham khảo ý kiến của đồng nghiệp, đồng nghiệp nói rằng có thể do danh sách tệp m3u8 đang phát trực tiếp cần được cập nhật theo thời gian thực. Nếu chúng tôi kiểm tra, chúng tôi có thể thêm # EXT-X-ENDLIST vào cuối trước. Phương pháp này đã được kiểm tra Nó hoạt động, nhưng đây không còn là chế độ m3u8 trực tiếp
Sau khi tìm kiếm lại trên Internet, tôi xác nhận rằng cuối cùng tôi đã tìm thấy mô tả m3u8 trực tiếp
Danh sách phát trực tiếp (Cửa sổ trượt)
Đối với các phiên trực tiếp, tệp chỉ mục được cập nhật bằng cách xóa các URI phương tiện khỏi tệp khi các tệp phương tiện mới được tạo và cung cấp.
Quan trọng: Thẻ EXT-X-ENDLIST không có trong danh sách phát Trực tiếp, cho biết rằng các tệp phương tiện mới sẽ được thêm vào tệp chỉ mục khi chúng có sẵn.
Xem Liệt kê 3 để biết một danh sách phát trực tiếp ví dụ vì nó sẽ xuất hiện ở đầu phiên.
Liệt kê 3 Danh sách phát trực tiếp ở đầu phiên.
Sao chép mã
#EXTM3U
# EXT-X-TARGETDURATION: 10
# PHIÊN BẢN EXT-X: 3
# EXT-X-MEDIA-SEQUENCE: 1
#EXTINF: 10,
tệpSequence1.ts
#EXTINF: 10,
tệpSequence2.ts
#EXTINF: 10,
tệpSequence3.ts
#EXTINF: 10,
tệpSequence4.ts
#EXTINF: 10,
tệpSequence5.ts
Sao chép mã
Giá trị thẻ EXT-X-MEDIA-SEQUENCE PHẢI được tăng thêm 1 cho mọi URI phương tiện bị xóa khỏi tệp danh sách phát. Phương tiện URI phải được xóa khỏi tệp danh sách phát theo thứ tự xuất hiện trong danh sách phát. Tệp chỉ mục được cập nhật trình bày một cửa sổ chuyển động thành một luồng liên tục. Loại phiên này thích hợp cho các chương trình phát sóng liên tục.
Đây là danh sách phát tương tự sau khi được cập nhật với URI phương tiện mới:
Liệt kê 4 Danh sách phát trực tiếp sau khi cập nhật URI phương tiện.
Sao chép mã
#EXTM3U
# EXT-X-TARGETDURATION: 10
# PHIÊN BẢN EXT-X: 3
# EXT-X-MEDIA-SEQUENCE: 2
#EXTINF: 10,
tệpSequence2.ts
#EXTINF: 10,
tệpSequence3.ts
#EXTINF: 10,
tệpSequence4.ts
#EXTINF: 10,
tệpSequence5.ts
#EXTINF: 10,
tệpSequence6.ts
Sao chép mã
Quy tắc cập nhật 3.live m3u8
Danh sách các file m3u8 đang sống cần cập nhật liên tục, cập nhật nội quy:
Xóa tệp trên cùng (nghĩ đã phát) trong danh sách phát tệp
Liên tục cập nhật thẻ EXT-X-MEDIA-SEQUENCE, tăng thêm 1
4. Thử nghiệm
Viết một chương trình nhỏ để tạo m3u8 trực tiếp để thử nghiệm
Cách sử dụng:
m3u8_gen.exe start_num list_count thời lượng filename.m3u8 [tiền tố]
Ví dụ sử dụng:
m3u8_gen.exe 1 3 10 live.m3u8 hls /
Tạo tệp live.m3u8 dưới dạng
Sao chép mã
#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
Sao chép mã
Viết tập lệnh BAT để cập nhật tệp live.m3u8 cứ sau 10 giây
Sao chép mã
@ Echo off
f
|
Nhập email để nhận bất ngờ
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Người Afrikaans
sq.fmuser.org -> Tiếng Albania
ar.fmuser.org -> tiếng Ả Rập
hy.fmuser.org -> Armenia
az.fmuser.org -> Azerbaijan
eu.fmuser.org -> Basque
be.fmuser.org -> Tiếng Belarus
bg.fmuser.org -> Tiếng Bulgaria
ca.fmuser.org -> Catalan
zh-CN.fmuser.org -> Tiếng Trung (Giản thể)
zh-TW.fmuser.org -> Trung Quốc (truyền thống)
hr.fmuser.org -> Tiếng Croatia
cs.fmuser.org -> Tiếng Séc
da.fmuser.org -> Đan Mạch
nl.fmuser.org -> Hà Lan
et.fmuser.org -> Tiếng Estonia
tl.fmuser.org -> Phi Luật Tân
fi.fmuser.org -> Phần Lan
fr.fmuser.org -> Pháp
gl.fmuser.org -> Galicia
ka.fmuser.org -> tiếng Georgia
de.fmuser.org -> Đức
el.fmuser.org -> Hy Lạp
ht.fmuser.org -> Tiếng Creole của Haiti
iw.fmuser.org -> Tiếng Do Thái
hi.fmuser.org -> Tiếng Hindi
hu.fmuser.org -> Hungary
is.fmuser.org -> tiếng Iceland
id.fmuser.org -> tiếng Indonesia
ga.fmuser.org -> Ailen
it.fmuser.org -> Ý
ja.fmuser.org -> Nhật Bản
ko.fmuser.org -> Hàn Quốc
lv.fmuser.org -> Tiếng Latvia
lt.fmuser.org -> Tiếng Litva
mk.fmuser.org -> Người Macedonian
ms.fmuser.org -> Mã Lai
mt.fmuser.org -> Maltese
no.fmuser.org -> Na Uy
fa.fmuser.org -> tiếng Ba Tư
pl.fmuser.org -> Tiếng Ba Lan
pt.fmuser.org -> tiếng Bồ Đào Nha
ro.fmuser.org -> Rumani
ru.fmuser.org -> tiếng Nga
sr.fmuser.org -> Tiếng Serbia
sk.fmuser.org -> Tiếng Slovak
sl.fmuser.org -> Tiếng Slovenia
es.fmuser.org -> tiếng Tây Ban Nha
sw.fmuser.org -> Tiếng Swahili
sv.fmuser.org -> Thụy Điển
th.fmuser.org -> Thái
tr.fmuser.org -> Thổ Nhĩ Kỳ
uk.fmuser.org -> Tiếng Ukraina
ur.fmuser.org -> Tiếng Urdu
vi.fmuser.org -> Tiếng việt
cy.fmuser.org -> tiếng Wales
yi.fmuser.org -> Yiddish
FMUSER Truyền video và âm thanh không dây dễ dàng hơn!
Liên hệ
Địa Chỉ:
Phòng số 305 Tòa nhà HuiLan Số 273 đường Huanpu Quảng Châu Trung Quốc 510620
Categories
Đăng ký bản tin