FMUSER Wirless Menghantar Video Dan Audio Lebih Mudah!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Orang Afrika
sq.fmuser.org -> Bahasa Albania
ar.fmuser.org -> Bahasa Arab
hy.fmuser.org -> Armenia
az.fmuser.org -> Azerbaijan
eu.fmuser.org -> Basque
be.fmuser.org -> Belarus
bg.fmuser.org -> Bulgaria
ca.fmuser.org -> Bahasa Catalan
zh-CN.fmuser.org -> Bahasa Cina (Ringkas)
zh-TW.fmuser.org -> Bahasa Cina (Tradisional)
hr.fmuser.org -> Bahasa Croatia
cs.fmuser.org -> Bahasa Czech
da.fmuser.org -> Denmark
nl.fmuser.org -> Belanda
et.fmuser.org -> Estonia
tl.fmuser.org -> Orang Filipina
fi.fmuser.org -> Bahasa Finland
fr.fmuser.org -> Bahasa Perancis
gl.fmuser.org -> orang Galicia
ka.fmuser.org -> Orang Georgia
de.fmuser.org -> Jerman
el.fmuser.org -> Greek
ht.fmuser.org -> Haitian Creole
iw.fmuser.org -> Bahasa Ibrani
hi.fmuser.org -> Bahasa Hindi
hu.fmuser.org -> Bahasa Hungary
is.fmuser.org -> Bahasa Iceland
id.fmuser.org -> Bahasa Indonesia
ga.fmuser.org -> Ireland
it.fmuser.org -> Bahasa Itali
ja.fmuser.org -> Jepun
ko.fmuser.org -> Bahasa Korea
lv.fmuser.org -> Bahasa Latvia
lt.fmuser.org -> Bahasa Lithuania
mk.fmuser.org -> orang Macedonia
ms.fmuser.org -> Bahasa Melayu
mt.fmuser.org -> Malta
no.fmuser.org -> Bahasa Norway
fa.fmuser.org -> Parsi
pl.fmuser.org -> Bahasa Poland
pt.fmuser.org -> Portugis
ro.fmuser.org -> Romania
ru.fmuser.org -> Rusia
sr.fmuser.org -> Bahasa Serbia
sk.fmuser.org -> Bahasa Slovak
sl.fmuser.org -> Bahasa Slovenia
es.fmuser.org -> Sepanyol
sw.fmuser.org -> Swahili
sv.fmuser.org -> Sweden
th.fmuser.org -> Thai
tr.fmuser.org -> Turki
uk.fmuser.org -> Ukraine
ur.fmuser.org -> Bahasa Urdu
vi.fmuser.org -> Vietnam
cy.fmuser.org -> Wales
yi.fmuser.org -> Bahasa Yiddish
HLS dan Http Live Streaming adalah protokol untuk streaming masa nyata yang ditentukan oleh Apple. HLS dilaksanakan berdasarkan protokol HTTP. Kandungan transmisi merangkumi dua bahagian, satu adalah fail keterangan M3U8, dan yang lain adalah fail media TS.
1. Fail M3U8
Fail media dijelaskan dalam teks, yang terdiri dari rangkaian tag.
#EXTM3U
# EXT-X-TARGETDURATION: 5
#EXTINF: 5,
./0.ts
#EXTINF: 5,
./1.ts
# EXTM3U: Baris pertama setiap fail M3U8 mestilah teg ini.
# EXT-X-TARGETDURATION: Nyatakan panjang masa segmen media maksimum (saat). Tempoh masa yang dinyatakan dalam #EXTINF mestilah kurang dari atau sama dengan nilai maksimum ini. Nilai ini hanya boleh muncul sekali.
#EXTINF: Huraikan panjang fail media tunggal. Fail media diikuti, seperti ./0.ts
Ia boleh diedarkan melalui HTTP pada peranti iOS dan mac. Standard senarai main adalah fail m3u8 yang dilanjutkan oleh m3u, dan fail media adalah fail MPEG2-TS atau AAC (hanya audio).
Terdapat dua senario aplikasi untuk fail m3u8:
Aliran penyesuaian pelbagai peringkat,
#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 penyesuaian kadar tunggal
#EXTM3U
# EXT-X-TARGETDURATION: 5220
#EXTINF: 5220,
http://media.example.com/entire.ts
# SENARAI TAMAT EXT-X
Organisasi Piawaian Antarabangsa menentukan dokumen rfc ini:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
Fail m3u8 adalah lanjutan dari fail m3u. Kata kunci yang diperluas ditentukan dalam rfc:
antaranya:
# EXT-X-SASARAN
Tentukan tempoh maksimum setiap TS.
# EXT-X-MEDIA-SEQUENCE
Tentukan nombor siri fail pertama dalam fail m3u8 semasa. Setiap fail ts mempunyai nombor siri tetap dan unik dalam fail m3u8. Nombor siri digunakan untuk menukar kadar kod untuk penjajaran semasa MBR.
# EXT-X-KEY
Tentukan kaedah penyulitan dan url fail kunci, yang digunakan untuk mendapatkan fail kunci 16bytes untuk menyahkod fail ts.
Sifat:
KAEDAH
URL
# PROGRAM EXT-X-TARIKH-MASA
Masa mutlak fail pertama
# EXT-X-ELAUN-CACHE
Sama ada membenarkan cache.
# SENARAI TAMAT EXT-X
Menunjukkan akhir fail m3u8. Live m3u8 tidak mempunyai teg ini.
# EXT-X-STREAM-INF
Sifat:
BANDWIDTH menentukan kadar bit
PROGRAM-ID unik ID
CODECS menentukan jenis pengekodan aliran
# EXT-X-DISCONTINUITY
Ketika tag ditemui, atribut berikut telah berubah:
format fail
bilangan dan jenis trek
parameter pengekodan
urutan pengekodan
urutan cap masa
# EXT-X-VERSI Atribut ini boleh digunakan atau tidak, anda tidak boleh memilikinya
M3U8 terbahagi kepada M3U8 tingkat atas dan M3U8 tahap kedua. M3U8 tingkat atas digunakan terutamanya untuk penyesuaian pelbagai peringkat. M3U8 tahap kedua adalah fail slice sebenar.
Secara lalai, pelanggan terlebih dahulu akan memilih permintaan dengan kadar bit tertinggi. Sekiranya mendapati kadar bit tidak dapat dicapai, ia akan meminta aliran dengan kadar bit rendah
Fail M3U8 tingkat atas dalam penggunaan sebenarnya adalah seperti berikut:
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, BANDWIDTH = 358400
11.m3u8
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, BANDWIDTH = 972800
22.m3u8
Fail M3U8 tingkat atas di atas menentukan dua fail tahap kedua, 11.m3u8 dan 22.m3u8, dan pelanggan akan memilih salah satu daripadanya untuk mendapatkan kandungannya.
Kandungan fail M3U8 sekunder adalah seperti berikut:
#EXTM3U
# EXT-X-VERSI: 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
# SENARAI TAMAT EXT-X
Setelah pelanggan mendapat fail M3U8 sekunder di atas, ia akan terus meminta fail di dalamnya, dan kemudian dapat dimainkan.
Perkara di atas adalah mengenai situasi on-demand dan situasi siaran langsung, akan ada atribut dalam fail M3U8 untuk memberitahu bahawa ia disiarkan secara langsung, dan pelanggan akan secara berkala meminta fail M3U8 baru.
// Apabila HLS menyedari permintaan dan siaran langsung, perbezaan fail M3U8
1. Penerangan masalah
Baru-baru ini saya melakukan ujian main balik slice transcoded, menggunakan HLS (HTTP Live Streaming) untuk melakukan siaran langsung. Setiap masa segmentasi TS adalah 10s, dan fail m3u8 langsung berikut dihasilkan mengikut fail segmentasi TS
Salin kod
#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
Salin kod
Simpan fail m3u8 di atas sebagai live.m3u8, masukkan ke dalam direktori dokumen Apache, dan mainkan URL berikut dengan VLC:
http://localhost/live.m3u8
Ujian tersebut mendapati bahawa fail pertama yang mula dimainkan bukan 1.ts. Setelah beberapa ujian, didapati bahawa:
Selagi terdapat lebih daripada tiga fail dalam senarai, tiga fail terakhir dalam senarai selalu dimainkan
2. Penyelesaian masalah
Sangat menyedihkan bahawa setelah mencari di Internet, saya tidak menemui maklumat yang berkesan. Seorang rakan mengalami situasi yang sama, adakah dia berkongsi pengalamannya setelah menyelesaikannya?
Setelah berunding dengan rakan sekerja, rakan sekerja itu mengatakan bahawa ia mungkin berlaku kerana senarai fail m3u8 langsung perlu dikemas kini dalam masa nyata. Sekiranya kita melakukan ujian, kita boleh menambah # EXT-X-ENDLIST pada akhir terlebih dahulu. Kaedah ini telah diuji Ia berfungsi, tetapi ini bukan lagi mod m3u8 langsung
Setelah mencari di Internet sekali lagi, saya mengesahkan bahawa saya akhirnya menemui penerangan m3u8 langsung
Senarai Main Langsung (Tetingkap Gelongsor)
Untuk sesi langsung, fail indeks dikemas kini dengan membuang URI media dari fail tersebut kerana fail media baru dibuat dan disediakan.
Penting: Tanda EXT-X-ENDLIST tidak terdapat dalam senarai main Langsung, yang menunjukkan bahawa fail media baru akan ditambahkan ke fail indeks apabila sudah tersedia.
Lihat Penyenaraian 3 untuk contoh senarai main langsung seperti yang akan muncul pada awal sesi.
Menyenaraikan 3 Senarai Main Langsung pada awal sesi.
Salin kod
#EXTM3U
# EXT-X-TARGETDURATION: 10
# EXT-X-VERSI: 3
# EXT-X-MEDIA-SEQUENCE: 1
#EXTINF: 10,
fileSequence1.ts
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
Salin kod
Nilai tag EXT-X-MEDIA-SEQUENCE HARUS dinaikkan sebanyak 1 untuk setiap URI media yang dikeluarkan dari fail senarai main. URI media mesti dikeluarkan dari fail senarai main mengikut urutan ia muncul dalam senarai main. Fail indeks yang dikemas kini menunjukkan tetingkap bergerak ke aliran berterusan. Sesi jenis ini sesuai untuk siaran berterusan.
Berikut senarai main yang sama setelah dikemas kini dengan URI media baru:
Menyenaraikan 4 Senarai Main Langsung setelah mengemas kini URI media.
Salin kod
#EXTM3U
# EXT-X-TARGETDURATION: 10
# EXT-X-VERSI: 3
# EXT-X-MEDIA-SEQUENCE: 2
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
#EXTINF: 10,
fileSequence6.ts
Salin kod
3. hidupkan peraturan kemas kini m3u8
Senarai fail m3u8 langsung perlu dikemas kini secara berterusan, kemas kini peraturan:
Keluarkan fail atas (fikir dimainkan) dalam senarai main fail
Kemas kini teg EXT-X-MEDIA-SEQUENCE secara berterusan, kenaikan sebanyak 1
4. Eksperimen
Tulis program kecil untuk menghasilkan m3u8 langsung untuk ujian
Penggunaan:
m3u8_gen.exe start_num list_count durasi nama fail.m3u8 [awalan]
Contoh penggunaan:
m3u8_gen.exe 1 3 10 langsung.m3u8 hls /
Hasilkan fail live.m3u8 sebagai
Salin kod
#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
Salin kod
Tulis skrip BAT untuk mengemas kini fail live.m3u8 setiap 10s
Salin kod
@ Echo off
f
|
Masukkan e-mel untuk mendapatkan kejutan
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Orang Afrika
sq.fmuser.org -> Bahasa Albania
ar.fmuser.org -> Bahasa Arab
hy.fmuser.org -> Armenia
az.fmuser.org -> Azerbaijan
eu.fmuser.org -> Basque
be.fmuser.org -> Belarus
bg.fmuser.org -> Bulgaria
ca.fmuser.org -> Bahasa Catalan
zh-CN.fmuser.org -> Bahasa Cina (Ringkas)
zh-TW.fmuser.org -> Bahasa Cina (Tradisional)
hr.fmuser.org -> Bahasa Croatia
cs.fmuser.org -> Bahasa Czech
da.fmuser.org -> Denmark
nl.fmuser.org -> Belanda
et.fmuser.org -> Estonia
tl.fmuser.org -> Orang Filipina
fi.fmuser.org -> Bahasa Finland
fr.fmuser.org -> Bahasa Perancis
gl.fmuser.org -> orang Galicia
ka.fmuser.org -> Orang Georgia
de.fmuser.org -> Jerman
el.fmuser.org -> Greek
ht.fmuser.org -> Haitian Creole
iw.fmuser.org -> Bahasa Ibrani
hi.fmuser.org -> Bahasa Hindi
hu.fmuser.org -> Bahasa Hungary
is.fmuser.org -> Bahasa Iceland
id.fmuser.org -> Bahasa Indonesia
ga.fmuser.org -> Ireland
it.fmuser.org -> Bahasa Itali
ja.fmuser.org -> Jepun
ko.fmuser.org -> Bahasa Korea
lv.fmuser.org -> Bahasa Latvia
lt.fmuser.org -> Bahasa Lithuania
mk.fmuser.org -> orang Macedonia
ms.fmuser.org -> Bahasa Melayu
mt.fmuser.org -> Malta
no.fmuser.org -> Bahasa Norway
fa.fmuser.org -> Parsi
pl.fmuser.org -> Bahasa Poland
pt.fmuser.org -> Portugis
ro.fmuser.org -> Romania
ru.fmuser.org -> Rusia
sr.fmuser.org -> Bahasa Serbia
sk.fmuser.org -> Bahasa Slovak
sl.fmuser.org -> Bahasa Slovenia
es.fmuser.org -> Sepanyol
sw.fmuser.org -> Swahili
sv.fmuser.org -> Sweden
th.fmuser.org -> Thai
tr.fmuser.org -> Turki
uk.fmuser.org -> Ukraine
ur.fmuser.org -> Bahasa Urdu
vi.fmuser.org -> Vietnam
cy.fmuser.org -> Wales
yi.fmuser.org -> Bahasa Yiddish
FMUSER Wirless Menghantar Video Dan Audio Lebih Mudah!
Hubungi Kami
alamat:
No.305 Bilik HuiLan Bangunan No.273 Huanpu Road Guangzhou China 510620
Kategori
Buletin