FMUSER Wirless Mengirim Video Dan Audio Lebih Mudah!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikans
sq.fmuser.org -> Albania
ar.fmuser.org -> Arab
hy.fmuser.org -> Armenia
az.fmuser.org -> Azerbaijan
eu.fmuser.org -> Basque
be.fmuser.org -> Belarusia
bg.fmuser.org -> Bulgaria
ca.fmuser.org -> Catalan
zh-CN.fmuser.org -> Cina (Sederhana)
zh-TW.fmuser.org -> Mandarin (Tradisional)
hr.fmuser.org -> Kroasia
cs.fmuser.org -> Ceko
da.fmuser.org -> Denmark
nl.fmuser.org -> Belanda
et.fmuser.org -> Estonia
tl.fmuser.org -> Filipina
fi.fmuser.org -> Finlandia
fr.fmuser.org -> Perancis
gl.fmuser.org -> Galicia
ka.fmuser.org -> Georgia
de.fmuser.org -> Jerman
el.fmuser.org -> Yunani
ht.fmuser.org -> Kreol Haiti
iw.fmuser.org -> Ibrani
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hongaria
is.fmuser.org -> Islandia
id.fmuser.org -> Bahasa Indonesia
ga.fmuser.org -> Irlandia
it.fmuser.org -> Italia
ja.fmuser.org -> Jepang
ko.fmuser.org -> Korea
lv.fmuser.org -> Latvia
lt.fmuser.org -> Lithuania
mk.fmuser.org -> Makedonia
ms.fmuser.org -> Melayu
mt.fmuser.org -> Malta
no.fmuser.org -> Norwegia
fa.fmuser.org -> Persia
pl.fmuser.org -> Polandia
pt.fmuser.org -> Portugis
ro.fmuser.org -> Rumania
ru.fmuser.org -> Rusia
sr.fmuser.org -> Serbia
sk.fmuser.org -> Slowakia
sl.fmuser.org -> Slovenia
es.fmuser.org -> Spanyol
sw.fmuser.org -> Swahili
sv.fmuser.org -> Swedia
th.fmuser.org -> Thailand
tr.fmuser.org -> Turki
uk.fmuser.org -> Ukraina
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnam
cy.fmuser.org -> Welsh
yi.fmuser.org -> Yiddish
HLS dan Streaming Langsung Http adalah protokol untuk streaming waktu nyata yang ditentukan oleh Apple. HLS diimplementasikan berdasarkan protokol HTTP. Isi transmisi mencakup dua bagian, satu adalah file deskripsi M3U8, dan yang lainnya adalah file media TS.
1. File M3U8
File media dijelaskan dalam teks, yang terdiri dari serangkaian tag.
#EXTM3U
# EXT-X-TARGETDURATION: 5
#EXTINF: 5,
./0.ts
#EXTINF: 5,
./1.ts
# EXTM3U: Baris pertama dari setiap file M3U8 harus berupa tag ini.
# EXT-X-TARGETDURATION: Menentukan panjang waktu segmen media maksimum (detik). Durasi waktu yang ditentukan dalam #EXTINF harus kurang dari atau sama dengan nilai maksimum ini. Nilai ini hanya dapat muncul sekali.
#EXTINF: Jelaskan panjang satu file media. File media mengikuti, seperti ./0.ts
Itu dapat didistribusikan oleh HTTP di perangkat iOS dan mac. Standar playlist adalah file m3u8 yang diperpanjang oleh m3u, dan file medianya adalah file MPEG2-TS atau AAC (hanya audio).
Ada dua skenario aplikasi untuk file m3u8:
Aliran adaptasi multi-rate,
#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
Aliran adaptasi tingkat tunggal
#EXTM3U
# EXT-X-TARGETDURATION: 5220
#EXTINF: 5220,
http://media.example.com/entire.ts
# EXT-X-ENDLIST
Organisasi Standar Internasional mendefinisikan dokumen rfc ini:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
File m3u8 adalah ekstensi dari file m3u. Kata kunci yang diperpanjang didefinisikan di rfc:
diantara mereka:
# EXT-X-TARGETDURATION
Tentukan durasi maksimum setiap TS.
# EXT-X-MEDIA-URUTAN
Tentukan nomor seri file pertama di file m3u8 saat ini. Setiap file ts memiliki nomor seri tetap dan unik di file m3u8. Nomor seri digunakan untuk mengganti kecepatan kode untuk penyelarasan selama MBR.
# EXT-X-KEY
Tentukan metode enkripsi dan url file kunci, yang digunakan untuk mendapatkan file kunci 16bytes untuk mendekode file ts.
Atribut:
METODE
URL
# EXT-X-PROGRAM-TANGGAL-WAKTU
Waktu absolut dari file pertama
# EXT-X-ALLOW-CACHE
Apakah akan mengizinkan cache.
# EXT-X-ENDLIST
Menunjukkan akhir dari file m3u8. M3u8 langsung tidak memiliki tag ini.
# EXT-X-STREAM-INF
Atribut:
BANDWIDTH menentukan kecepatan bit
ID unik PROGRAM-ID
CODECS menentukan jenis pengkodean aliran
# EXT-X-DISCONTINUITY
Saat tag ditemukan, atribut berikut telah berubah:
format file
jumlah dan jenis trek
parameter pengkodean
urutan pengkodean
urutan cap waktu
# EXT-X-VERSION Atribut ini dapat digunakan atau tidak, Anda tidak dapat memilikinya
M3U8 dibagi menjadi M3U8 level atas dan M3U8 level kedua. M3U8 level atas terutama digunakan untuk adaptasi multi-rate. M3U8 tingkat kedua adalah file irisan asli.
Secara default, klien pertama-tama akan memilih permintaan dengan bitrate tertinggi. Jika ternyata bitrate tidak dapat dicapai, ia akan meminta streaming dengan bitrate rendah
File M3U8 tingkat atas yang sebenarnya digunakan adalah sebagai berikut:
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, BANDWIDTH = 358400
11.m3u8
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, BANDWIDTH = 972800
22.m3u8
File M3U8 level atas di atas mendefinisikan dua file level kedua, 11.m3u8 dan 22.m3u8, dan klien akan memilih salah satunya untuk mendapatkan kontennya.
Isi file M3U8 sekunder adalah sebagai berikut:
#EXTM3U
# EXT-X-VERSION: 1
# EXT-X-TARGETDURATION: 10
# EXT-X-MEDIA-URUTAN: 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
Setelah klien mendapatkan file M3U8 sekunder di atas, klien akan terus meminta file di dalamnya, dan kemudian dapat diputar.
Di atas adalah tentang situasi on-demand dan situasi siaran langsung, akan ada atribut di file M3U8 untuk memberi tahu itu live, dan klien secara berkala akan meminta file M3U8 baru.
// Ketika HLS menyadari on-demand dan siaran langsung, perbedaan file M3U8
1. Deskripsi masalah
Baru-baru ini saya melakukan tes pemutaran irisan yang di-transcoding, menggunakan HLS (HTTP Live Streaming) untuk melakukan siaran langsung. Setiap waktu segmentasi TS adalah 10 detik, dan file m3u8 langsung berikut ini dibuat sesuai dengan file segmentasi TS
Salin kode
#EXTM3U
# EXT-X-MEDIA-URUTAN: 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
Salin kode
Simpan file m3u8 di atas sebagai live.m3u8, letakkan di direktori dokumen Apache, dan mainkan URL berikut dengan VLC:
http://localhost/live.m3u8
Tes menemukan bahwa file pertama yang mulai diputar bukanlah 1.ts. Setelah beberapa kali pengujian, ditemukan bahwa:
Selama ada lebih dari tiga file dalam daftar, maka tiga file terakhir dalam daftar selalu diputar
2. Penyelesaian masalah
Sangat menyedihkan bahwa setelah mencari di Internet, saya tidak menemukan informasi yang efektif. Seorang teman menghadapi situasi yang sama, apakah dia membagikan pengalamannya setelah menyelesaikannya?
Setelah berkonsultasi dengan kolega, kolega tersebut mengatakan bahwa hal itu dimungkinkan karena daftar file m3u8 langsung perlu diperbarui secara real time. Jika kita melakukan tes, kita bisa menambahkan # EXT-X-ENDLIST di akhir terlebih dahulu. Metode ini telah diuji Berhasil, tetapi ini bukan lagi mode m3u8 langsung
Setelah mencari di Internet lagi, saya mengonfirmasi bahwa saya akhirnya menemukan deskripsi m3u8 langsung
Daftar Putar Langsung (Jendela Geser)
Untuk sesi langsung, file indeks diperbarui dengan menghapus URI media dari file saat file media baru dibuat dan tersedia.
Penting: Tag EXT-X-ENDLIST tidak ada dalam playlist Live, yang menunjukkan bahwa file media baru akan ditambahkan ke file indeks saat tersedia.
Lihat Cantuman 3 untuk contoh daftar putar langsung seperti yang akan muncul di awal sesi.
Mendaftar 3 Live Playlist di awal sesi.
Salin kode
#EXTM3U
# EXT-X-TARGETDURATION: 10
# EXT-X-VERSION: 3
# EXT-X-MEDIA-URUTAN: 1
#EXTINF: 10,
fileSequence1.ts
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
Salin kode
Nilai tag EXT-X-MEDIA-SEQUENCE HARUS ditambah 1 untuk setiap URI media yang dihapus dari file playlist. URI Media harus dihapus dari file playlist sesuai urutan kemunculannya di playlist. File indeks yang diperbarui menampilkan jendela bergerak ke aliran berkelanjutan. Jenis sesi ini cocok untuk siaran terus menerus.
Berikut playlist yang sama setelah diupdate dengan URI media baru:
Menampilkan 4 Live Playlist setelah memperbarui URI media.
Salin kode
#EXTM3U
# EXT-X-TARGETDURATION: 10
# EXT-X-VERSION: 3
# EXT-X-MEDIA-URUTAN: 2
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
#EXTINF: 10,
fileSequence6.ts
Salin kode
3. aturan pembaruan m3u8 hidup
Daftar file m3u8 hidup perlu diperbarui terus menerus, perbarui aturan:
Hapus file teratas (kira-kira diputar) dalam daftar putar file
Perbarui tag EXT-X-MEDIA-SEQUENCE secara terus-menerus, dengan kenaikan 1
4. Eksperimen
Tulis program kecil untuk menghasilkan m3u8 langsung untuk pengujian
Pemakaian:
m3u8_gen.exe start_num list_count durasi nama file.m3u8 [awalan]
Contoh penggunaan:
m3u8_gen.exe 1 3 10 hidup.m3u8 hls /
Hasilkan file live.m3u8 sebagai
Salin kode
#EXTM3U
# EXT-X-MEDIA-URUTAN: 1
# EXT-X-TARGETDURATION: 10
#EXTINF: 10
hls / 1.ts
#EXTINF: 10
hls / 2.ts
#EXTINF: 10
hls / 3.ts
Salin kode
Tulis skrip BAT untuk memperbarui file live.m3u8 setiap 10 detik
Salin kode
@ Echo off
f
|
Masukkan email untuk mendapatkan kejutan
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikans
sq.fmuser.org -> Albania
ar.fmuser.org -> Arab
hy.fmuser.org -> Armenia
az.fmuser.org -> Azerbaijan
eu.fmuser.org -> Basque
be.fmuser.org -> Belarusia
bg.fmuser.org -> Bulgaria
ca.fmuser.org -> Catalan
zh-CN.fmuser.org -> Cina (Sederhana)
zh-TW.fmuser.org -> Mandarin (Tradisional)
hr.fmuser.org -> Kroasia
cs.fmuser.org -> Ceko
da.fmuser.org -> Denmark
nl.fmuser.org -> Belanda
et.fmuser.org -> Estonia
tl.fmuser.org -> Filipina
fi.fmuser.org -> Finlandia
fr.fmuser.org -> Perancis
gl.fmuser.org -> Galicia
ka.fmuser.org -> Georgia
de.fmuser.org -> Jerman
el.fmuser.org -> Yunani
ht.fmuser.org -> Kreol Haiti
iw.fmuser.org -> Ibrani
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hongaria
is.fmuser.org -> Islandia
id.fmuser.org -> Bahasa Indonesia
ga.fmuser.org -> Irlandia
it.fmuser.org -> Italia
ja.fmuser.org -> Jepang
ko.fmuser.org -> Korea
lv.fmuser.org -> Latvia
lt.fmuser.org -> Lithuania
mk.fmuser.org -> Makedonia
ms.fmuser.org -> Melayu
mt.fmuser.org -> Malta
no.fmuser.org -> Norwegia
fa.fmuser.org -> Persia
pl.fmuser.org -> Polandia
pt.fmuser.org -> Portugis
ro.fmuser.org -> Rumania
ru.fmuser.org -> Rusia
sr.fmuser.org -> Serbia
sk.fmuser.org -> Slowakia
sl.fmuser.org -> Slovenia
es.fmuser.org -> Spanyol
sw.fmuser.org -> Swahili
sv.fmuser.org -> Swedia
th.fmuser.org -> Thailand
tr.fmuser.org -> Turki
uk.fmuser.org -> Ukraina
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnam
cy.fmuser.org -> Welsh
yi.fmuser.org -> Yiddish
FMUSER Wirless Mengirim Video Dan Audio Lebih Mudah!
Kontak
Alamat:
No.305 Kamar HuiLan Building No.273 Huanpu Road Guangzhou China 510620
Kategori
Buletin