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
latar belakang
MP4 adalah format video umum kami, dan seringkali saat kami memutar video server, itu langsung merupakan sumber video MP4 yang diminta. Tapi nyatanya, ini tidak bagus. File header MP4 [ftyp + moov] berukuran besar, dan pemutaran awal perlu mendownload file header lengkap dan menganalisisnya, lalu mendownload klip video yang dapat diputar dengan durasi tertentu untuk diputar. Selain itu, seiring bertambahnya ukuran video, file header akan terus bertambah, dan waktu pemutaran awal akan lebih lama. Melihat situasi tersebut, diperlukan suatu metode yang dapat mempercepat analisis awal dari video tersebut. HLS merupakan solusi yang diusulkan Apple untuk mengatasi masalah ini.
HLS
HLS adalah singkatan dari HTTP Live Streaming. Ini adalah protokol transmisi jaringan media streaming berbasis HTTP yang diusulkan oleh Apple. Ini dapat mendukung live dan on-demand pada saat yang sama, serta multi-definisi, audio dan video dual-track, subtitle dan fungsi lainnya. Prinsipnya adalah membagi seluruh video menjadi beberapa video kecil, dan pemutaran lengkap dibentuk dengan menyambung segmen ini.
HLS banyak digunakan di terminal seluler. Klien saat ini yang mendukung protokol HLS meliputi:
iOS 3.0 dan yang lebih baru, AVPlayer secara native mendukung HLS
Android 3.0 ke atas
Adobe Flash Player 11.0 dan yang lebih baru
Prinsip umumnya adalah ini:
1. Kumpulkan audio dan video
2. Encode audio dan video di server
3. Setelah encoding, serahkan ke Stream Segmenter dalam bentuk transport stream MPEG-2
4. Pemotong membuat file indeks dan daftar putar ts, file indeks digunakan untuk menunjukkan posisi audio dan video, dan ts adalah klip multimedia yang sebenarnya
5. Letakkan sumber daya dari langkah sebelumnya di server HTTP
6. Klien meminta file indeks untuk diputar, dan konten pemutaran dapat ditemukan melalui file indeks
M3U8
Langkah kunci untuk mewujudkan HLS adalah langkah keempat di atas, yaitu organisasi file indeks dan playlist ts. Format M3U8 digunakan di sini. M3U8 adalah versi Unicode dari M3U, 8 berarti pengkodean UTF-8 digunakan, dan M3U dan M3U8 adalah format file untuk daftar multimedia.
Deskripsi format M3U8
Terkadang kami mungkin perlu memodifikasi konten file M3U8 secara manual untuk pengujian atau dalam beberapa kasus khusus, jadi kami perlu memiliki pemahaman tertentu tentang formatnya. Definisi format ini ditulis dalam dokumen RFC 8216. Berikut beberapa catatannya:
File M3U8 harus dienkode dalam UTF-8, dan tidak dapat menggunakan urutan byte Byte Order Mark (BOM), dan tidak boleh berisi karakter kontrol utf-8 (U + 0000 ~ U_001F dan U + 007F ~ u + 009F)
Setiap baris konten file M3U8 bisa berupa baris kosong, URI, atau string yang diawali dengan #, dan tidak ada karakter kosong yang dapat muncul.
Tag bawaan semua string yang dimulai dengan #EXT dan peka huruf besar / kecil.
URI adalah jalur konten, yang dapat berupa jalur relatif atau jalur absolut
Master file daftar M3U8
File indeks M3U8 utama umumnya digunakan untuk menentukan beberapa sumber indeks. Pertama mari kita analisa konten file m3u8 utama hls_vod_mvp.m3u8, kepalanya seperti ini
Format tajuk
#EXTM3U
# EXT-X-VERSION: 7
# EXT-X-INDEPENDENT-SEGMENSalin kode
# EXTM3U menunjukkan bahwa file tersebut dalam format M3U, dan semua file berformat M3U harus meletakkan konten di baris pertama.
# EXT-X-VERSIOn menunjukkan versi playlist yang kompatibel, yaitu 7.
# EXT-X-INDEPENDENT-SEGMEN Tag ini menunjukkan bahwa semua sampel media dalam segmen media dapat diterjemahkan secara independen tanpa bergantung pada informasi segmen media lainnya.
Format subtitle
Konten di bawah ini adalah beberapa teks, konten teks tidak perlu.
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subs", NAME = "English", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "eng", URI = "subtitle / eng / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subsC", NAME = "English", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "eng", URI = "subtitle / engc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subs", NAME = "Japanese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "jpn", URI = "subtitle / jpn / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subsC", NAME = "Japanese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "jpn", URI = "subtitle / jpnc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subs", NAME = "Chinese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "zho", URI = "subtitle / zho / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subsC", NAME = "Chinese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "zho", URI = "subtitle / zhoc / prog_index.m3u8 "Salin kode
# EXT-X-MEDIA digunakan untuk menentukan sumber daya daftar media multibahasa dari konten yang sama.
JENIS adalah jenis sumber daya, dan konten opsionalnya adalah: AUDIO, VIDEO, SUBTITLES, CLOSED-CAPTIONS.
Set konten di atas TYPE = SUBTITLES, yang merupakan jenis teks film.
GROUP-ID adalah grup tempat terjemahan multibahasa berada dan merupakan parameter yang diperlukan
NAME adalah informasi deskripsi yang dapat dibaca dari aliran terjemahan, dan nilai ini sesuai dengan displayName dari AVMediaSelectionOption.
DEFAULT, AUTOSELECT, FORCED adalah tiga nilai BOOL yang sesuai dengan apakah aliran terjemahan dipilih secara default jika informasi yang diperlukan hilang. Aliran pemutaran diputar saat pengguna tidak menampilkan pengaturan. PAKSA hanya berlaku untuk jenis subjudul dan digunakan untuk menandai pemilihan otomatis aliran terjemahan saat ini. .
LANGUAGE digunakan untuk menentukan jenis bahasa, yang diatur sesuai dengan [kode bahasa ISO 639] (https://www.w3.org/WAI/ER/WD-AERT/iso639.htm Standar "kode bahasa ISO 639"). Saat pemutar default sistem memilih subtitle, nama daftar subtitle yang ditampilkan diatur sesuai dengan nilai ini.
URI adalah informasi lokasi sumber daya, yang terkait dengan file M3U8 dengan subtitle. subtitel / eng / prog_index.m3u8 adalah jalur relatif,
Melalui informasi di atas, kita dapat menganalisis arti konten di atas sebagai: Video saat ini mendukung tiga subtitle: Inggris, Jepang, dan Mandarin. Tetapi setiap bahasa memiliki dua pesan EXT-X-MEDIA. Perbedaan di antara keduanya adalah pengelompokan, yang satu dikelompokkan dalam subs dan yang lainnya dikelompokkan dalam subsC. Mengapa ada dua kelompok? Saya akan membicarakannya nanti.
Format Video
Lihat lagi ke bawah, untuk indeks konten video:
#EXT-X-STREAM-INF:BANDWIDTH=827299,AVERAGE-BANDWIDTH=747464,CODECS="avc1.64001f,mp4a.40.2",RESOLUTION=640x360,FRAME-RATE=29.970,AUDIO="program_audio",SUBTITLES=" subs"
0640 / 0640.m3u8
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=360849,AVERAGE-BANDWIDTH=320932,CODECS="avc1.64001f",RESOLUTION=640x360,URI="0640/0640_I-Frame.m3u8"Copy code
EXT-X-STREAM-INF: Atribut ini menentukan sumber cadangan, yaitu jalur pemutaran video dan beberapa informasi video. Berikut ini adalah konfigurasi konten yang sesuai: BANDWIDTH adalah bit rate puncak, 827299 adalah 827299bit / s, yang merupakan waktu puncak tertinggi Mengkonsumsi 101KB lalu lintas per detik.
AVERAGE-BANDWIDTH adalah kecepatan bit rata-rata, 747464
CODECS adalah informasi pengkodean, avc1.64001f, mp4a.40.2, avc mewakili format pengkodean h264, 64001f berikut adalah parameter pengkodean yang diwakili oleh heksadesimal, 64, 00, 1f masing-masing mewakili tiga nilai parameter yang berbeda. mp4a adalah format pengkodean audio, dan 40.2 berikut mewakili parameter pengkodean audio.
RESOLUSI adalah resolusi video. Resolusi sumber video saat ini adalah 640x360.
FRAME-RATE adalah kecepatan frame maksimum, 29.970 mewakili kecepatan frame maksimum dari pemutaran saat ini adalah 29.970 frame per detik.
AUDIO adalah grup audio, dan program_audio adalah nama grup audio yang sesuai.
SUBTITEL menunjukkan grup subtitle yang sesuai, dan subtitle adalah nama grup subtitle terkait. Informasi subtitle di atas memiliki GROUP-ID, dan nilai ini sesuai dengannya.
URI adalah jalur konten, 0640 / 0640.m3u8 sesuai dengan jalur file m3u8 dari sumber video. Hal ini dapat dilihat pada informasi pengambilan paket.
Di bawah EXT-X-STREAM-INF adalah EXT-XI-FRAME-STREAM-INF, yang mewakili bingkai I (bingkai kunci) dari sumber daya multimedia yang terdapat dalam file daftar putar. Karena bingkai I hanyalah sebuah gambar, itu tidak berisi konten audio, dan parameter lainnya sesuai dengan format konten video.
Setelah itu, ada sumber video yang sesuai dengan resolusi yang berbeda, 1920x1080, 1280x720, 960x540, 480x270. Karena HLS akan secara otomatis mengalihkan resolusi sesuai dengan situasi jaringan, beberapa resolusi umumnya disiapkan untuk dipilih. Berdasarkan analisis data yang ditangkap, segmen pertama yang diputar adalah resolusi 640, segmen kedua menjadi 8 segmen setelah itu adalah resolusi 480, dan kemudian diubah ke resolusi 640.
audio format
Melihat ke bawah adalah indeks audio yang sesuai
# EXT-X-MEDIA: TYPE = AUDIO, GROUP-ID = "program_audio", LANGUAGE = "eng", NAME = "Alternate Audio", AUTOSELECT = YES, DEFAULT = YES, URI = "audio1 / audio1.m3u8" Salin Kode
# EXT-X-MEDIA muncul di atas, tetapi tidak menyebutkan daftar beberapa bahasa.
TYPE = AUDIO, kali ini jenisnya adalah audio.
GROUP-ID adalah ID grup, sesuai dengan konten AUDIO di EXT-X-STREAM-INF.
URI = audio1 / audio1.m3u8 sesuai dengan jalur audio.
Sumber alternatif dari format pengkodean yang berbeda
Di file utama M3U8, kita juga bisa melihat sumber video beresolusi 640, yang tidak sama dengan resolusi di atas 640. Isinya seperti ini:
#EXT-X-STREAM-INF:BANDWIDTH=1922391,AVERAGE-BANDWIDTH=1276855,VIDEO-RANGE=SDR,CODECS="hvc1.2.4.H150.B0,mp4a.40.2",RESOLUTION=640x360,FRAME-RATE=29.970 ,AUDIO="program_audio_0",SUBTITLES="subsC"
0640c / prog_index.m3u8
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=1922391,AVERAGE-BANDWIDTH=1276855,CODECS="hvc1.2.4.H150.B0",RESOLUTION=640x360,URI="0640c/iframe_index.m3u8"
# EXT-X-MEDIA: TYPE = AUDIO, GROUP-ID = "program_audio_0", LANGUAGE = "eng", NAME = "Alternate Audio", AUTOSELECT = YES, DEFAULT = YES, URI = "audioc / prog_index.m3u8" Salin Kode
Format pengkodean CODECS adalah hvc1.2.4.H150.B0, mp4a.40.2, format pengkodean audio tidak berubah, tetapi format pengkodean video telah berubah. hvc1 adalah salah satu format pengkodean HEVC (H265). Ini adalah format pengkodean video generasi baru yang diluncurkan oleh Apple. Karena masalah kompatibilitas, banyak klien tidak dapat mengurai format ini, sehingga tidak terlalu populer. Sumber video dalam format ini muncul Seharusnya ada cadangan di sini. Dengan membandingkan dua konten dengan resolusi yang sama, dapat diketahui bahwa bit rate format hvc1 lebih tinggi daripada format avc1, yang menunjukkan bahwa konten hvc1 lebih besar dan rasio kompresi avc1 lebih tinggi di bawah resolusi yang sama.
Sesuai dengan sumber video format hvc1, pengelompokan konten subtitle dan pengelompokan konten audio juga telah berubah, itulah sebabnya subtitle di atas memiliki dua salinan dalam bahasa yang sama, dan keduanya sesuai dengan sumber video dalam format avc1 dan hvc1.
Ini adalah daftar utama M3U8. Audio dan video dari konten ini diproses secara terpisah, tetapi keduanya juga dapat digabungkan.
File M3u8 yang berisi informasi media
Ambil file 0640.m3u8 sebagai contoh
#EXTM3U
# EXT-X-VERSION: 4
# EXT-X-TARGETDURATION: 7
# EXT-X-MEDIA-URUTAN: 1
# EXT-X-PLAYLIST-TYPE: VOD
#EXTINF: 6.006,
0640_00001.ts
#EXTINF: 6.006,
0640_00002.ts
#EXTINF: 6.006,
0640_00003.ts
....
# EXT-X-ENDLISSalin kode
# EXTM3U dan # EXT-X-VERSION masing-masing adalah header file M3U dan nomor versi yang kompatibel. Format ini adalah versi awal jadi nomor versinya lebih rendah dari file utama.
EXT-X-TARGETDURATION menunjukkan durasi maksimum setiap segmen pemutaran, 7 mewakili 7 detik, dan segmen dalam direktori ini tidak boleh lebih dari 7 detik.
EXT-X-MEDIA-SEQUENCE menunjukkan nomor urut segmen pertama playlist, dan 1, menunjukkan bahwa segmen pemutaran dimulai dari 1.
#EXTINF mewakili durasi segmen, 6.006 berarti segmen saat ini adalah 6.006s. Informasi durasi video total diperoleh dengan mengumpulkan nilai ini.
0640_00001.ts adalah jalur relatif klip. File ts mewakili bagian dari video atau audio, dan dapat dalam format ts, mp4, aac dan lainnya. Karena sudah ditentukan buka dari 1
|
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