FMUSER Kablosuz Video ve Sesi Daha Kolay İletin!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Arnavutça
ar.fmuser.org -> Arapça
hy.fmuser.org -> Ermeni
az.fmuser.org -> Azerice
eu.fmuser.org -> Bask Dili
be.fmuser.org -> Beyaz Rusça
bg.fmuser.org -> Bulgar
ca.fmuser.org -> Katalanca
zh-CN.fmuser.org -> Çince (Basitleştirilmiş)
zh-TW.fmuser.org -> Çince (Geleneksel)
hr.fmuser.org -> Hırvatça
cs.fmuser.org -> Çekçe
da.fmuser.org -> Danca
nl.fmuser.org -> Hollandalı
et.fmuser.org -> Estonca
tl.fmuser.org -> Filipinli
fi.fmuser.org -> Fince
fr.fmuser.org -> Fransızca
gl.fmuser.org -> Galiçyaca
ka.fmuser.org -> Gürcüce
de.fmuser.org -> Almanca
el.fmuser.org -> Yunanca
ht.fmuser.org -> Haiti Kreyolu
iw.fmuser.org -> İbranice
hi.fmuser.org -> Hintçe
hu.fmuser.org -> Macar
is.fmuser.org -> İzlandaca
id.fmuser.org -> Endonezya
ga.fmuser.org -> İrlandalı
it.fmuser.org -> İtalyan
ja.fmuser.org -> Japonca
ko.fmuser.org -> Korece
lv.fmuser.org -> Letonca
lt.fmuser.org -> Litvanya
mk.fmuser.org -> Makedonca
ms.fmuser.org -> Malayca
mt.fmuser.org -> Malta
no.fmuser.org -> Norveç
fa.fmuser.org -> Farsça
pl.fmuser.org -> Lehçe
pt.fmuser.org -> Portekizce
ro.fmuser.org -> Romen
ru.fmuser.org -> Rusça
sr.fmuser.org -> Sırpça
sk.fmuser.org -> Slovakça
sl.fmuser.org -> Slovence
es.fmuser.org -> İspanyolca
sw.fmuser.org -> Svahili
sv.fmuser.org -> İsveççe
th.fmuser.org -> Tay
tr.fmuser.org -> Türkçe
uk.fmuser.org -> Ukraynaca
ur.fmuser.org -> Urduca
vi.fmuser.org -> Vietnamca
cy.fmuser.org -> Galce
yi.fmuser.org -> Yidiş
arka fon
MP4 genel video formatımızdır ve genellikle sunucu videolarını oynattığımızda, doğrudan istenen MP4 video kaynağıdır. Ama aslında bu iyi değil. MP4 başlık dosyası [ftyp + moov] büyüktür ve ilk oynatmanın tam başlık dosyasını indirmesi ve analiz etmesi ve ardından oynatmak için belirli bir uzunlukta oynatılabilir video klibi indirmesi gerekir. Ek olarak, videonun boyutu arttıkça, başlık dosyası büyümeye devam edecek ve ilk oynatma süresi uzayacaktır. Bu durum karşısında videonun ilk analizini hızlandırabilecek bir yönteme ihtiyaç vardır. HLS, bu sorunu çözmek için Apple tarafından önerilen çözümdür.
HLS
HLS, HTTP Canlı Akışın kısaltmasıdır. Apple tarafından önerilen HTTP tabanlı bir akış ortamı ağ aktarım protokolüdür. Canlı ve isteğe bağlı olarak aynı anda, çoklu tanımlı, ses ve video çift kanalını, altyazıları ve diğer işlevleri destekleyebilir. İlkesi, tüm videoyu birden çok küçük videoya bölmektir ve tam oynatma, bu bölümlerin eklenmesiyle oluşturulur.
HLS, mobil terminallerde yaygın olarak kullanılmaktadır. HLS protokolünü destekleyen mevcut istemciler şunları içerir:
iOS 3.0 ve üzeri, AVPlayer HLS'yi yerel olarak destekler
Robot 3.0 yukarıda
Adobe Flash Player 11.0 ve üzeri
Genel prensibi şudur:
1. Ses ve video toplayın
2. Sunucudaki ses ve videoyu kodlayın
3. Kodlamadan sonra, MPEG-2 taşıma akışı biçiminde Akış Segmenterine verin
4. Dilimleyici bir dizin dosyası ve çalma listesi oluşturur, dizin dosyası ses ve videonun konumunu belirtmek için kullanılır ve ts gerçek bir multimedya klibidir
5. Önceki adımın kaynaklarını HTTP sunucusuna koyun
6. İstemci, oynatma için dizin dosyasını ister ve oynatma içeriği, dizin dosyası aracılığıyla bulunabilir
M3U8
HLS'yi gerçekleştirmenin önemli bir adımı, yukarıdaki dördüncü adımdır, yani dizin dosyalarının ve çalma listelerinin düzenlenmesi. M3U8 formatı burada kullanılır. M3U8, M3U'nun Unicode sürümüdür, 8, UTF-8 kodlamasının kullanıldığı anlamına gelir ve hem M3U hem de M3U8, multimedya listeleri için dosya formatlarıdır.
M3U8 biçimi açıklaması
Bazen test için veya bazı özel durumlarda M3U8 dosyasının içeriğini manuel olarak değiştirmemiz gerekebilir, bu nedenle formatını belirli bir şekilde anlamamız gerekir. Bu formatın tanımı RFC 8216 belgesinde yazılmıştır. Aşağıda bazı notlar verilmiştir:
M3U8 dosyaları UTF-8 olarak kodlanmalıdır ve Bayt Sırası İşareti (BOM) bayt sırasını kullanamaz ve utf-8 kontrol karakterleri (U + 0000 ~ U_001F ve U + 007F ~ u + 009F) içeremez
M3U8 dosya içeriğinin her satırı ya boş bir satır, bir URI ya da # ile başlayan bir dizedir ve hiçbir boş karakter görünemez.
Yerleşik etiketlerin tümü #EXT ile başlayan dizelerdir ve büyük / küçük harfe duyarlıdır.
URI, göreli bir yol veya mutlak bir yol olabilen içerik yoludur
Ana M3U8 liste dosyası
Ana M3U8 dizin dosyası genellikle birden çok dizin kaynağını belirtmek için kullanılır. Önce ana m3u8 dosyası hls_vod_mvp.m3u8'in içeriğini analiz edelim, kafası şu şekildedir
Başlık biçimi
#EXTM3U
# EXT-X-VERSION: 7
# EXT-X-INDEPENDENT-SEGMENTSKodu kopyala
# EXTM3U, dosyanın M3U biçiminde olduğunu ve tüm M3U biçimindeki dosyaların içeriği ilk satıra koyması gerektiğini belirtir.
# EXT-X-VERSIOn, çalma listesinin şu anda 7 olan uyumlu sürümünü gösterir.
# EXT-X-BAĞIMSIZ-SEGMENTLER Bu etiket, bir medya segmentindeki tüm medya örneklerinin, diğer medya segmenti bilgilerine dayanmadan bağımsız olarak kodunun çözülebileceğini belirtir.
Altyazı biçimi
Aşağıdaki içerik bazı altyazılardır, altyazıların içeriği gerekli değildir.
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subs", NAME = "English", DEFAULT = EVET, AUTOSELECT = EVET, ZORUNLU = HAYIR, DİL = "eng", URI = "altyazılar / eng / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subsC", NAME = "English", DEFAULT = EVET, AUTOSELECT = EVET, ZORUNLU = HAYIR, DİL = "eng", URI = "altyazılar / engc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subs", NAME = "Japanese", DEFAULT = YES, AUTOSELECT = EVET, FORCED = HAYIR, DİL = "jpn", URI = "altyazılar / jpn / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subsC", NAME = "Japanese", DEFAULT = EVET, AUTOSELECT = EVET, ZORUNLU = HAYIR, DİL = "jpn", URI = "altyazılar / jpnc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subs", NAME = "Chinese", DEFAULT = EVET, AUTOSELECT = EVET, ZORUNLU = HAYIR, DİL = "zho", URI = "altyazılar / zho / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subsC", NAME = "Chinese", DEFAULT = EVET, AUTOSELECT = EVET, ZORUNLU = HAYIR, DİL = "zho", URI = "altyazılar / zhoc / prog_index.m3u8 "Kodu kopyala
# EXT-X-MEDIA, aynı içeriğin çok dilli medya listesi kaynaklarını belirtmek için kullanılır.
TÜR, kaynak türüdür ve isteğe bağlı içerikler şunlardır: SES, VİDEO, ALT BAŞLIKLAR, KAPALI BAŞLIKLAR.
Yukarıdaki içerik, altyazı türü olan TYPE = SUBTITLES öğesini ayarlar.
GROUP-ID, çok dilli çevirinin ait olduğu gruptur ve gerekli bir parametredir
NAME, çeviri akışının okunabilir açıklama bilgisidir ve bu değer, AVMediaSelectionOption öğesinin displayName değerine karşılık gelir.
DEFAULT, AUTOSELECT, FORCED, gerekli bilgiler eksikse çeviri akışının varsayılan olarak seçilip seçilmediğine karşılık gelen üç BOOL değeridir. Oynatma akışı, kullanıcı ayarları görüntülemediğinde oynatılır. FORCED, yalnızca altyazı türü için geçerlidir ve çeviri akışının geçerli otomatik seçimini işaretlemek için kullanılır. .
DİL, [ISO 639 dil kodu] 'na göre ayarlanan dil türünü belirtmek için kullanılır (https://www.w3.org/WAI/ER/WD-AERT/iso639.htm "ISO 639 dil kodu") standardı. Sistem varsayılan oynatıcısı altyazıları seçtiğinde, görüntülenen altyazı listesinin adı bu değere göre ayarlanır.
URI, altyazılı bir M3U8 dosyasına karşılık geldiği kaynağın konum bilgisidir. subtitles / eng / prog_index.m3u8 göreceli bir yoldur,
Yukarıdaki bilgiler aracılığıyla, yukarıdaki içeriğin anlamını şu şekilde analiz edebiliriz: Mevcut video üç altyazıyı destekler: İngilizce, Japonca ve Çince. Ancak her dilin iki EXT-X-MEDIA mesajı vardır. Aralarındaki fark gruplandırmadır, biri alt gruplarda, diğeri alt C'de gruplandırılmıştır. Neden iki grup var? Bunun hakkında daha sonra konuşacağım.
Video formatı
Video içeriğinin dizini için tekrar aşağıya bakın:
#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: Bu özellik, bir yedekleme kaynağını, yani video oynatma yolunu ve bazı video bilgilerini belirtir. Aşağıdakiler, ilgili içeriğin yapılandırmasıdır: BANDWIDTH, en yüksek bit hızıdır, 827299, 827299bit / s'dir, bu, en yüksek pik zaman, saniyede 101 KB trafik tüketir.
AVERAGE-BANDWIDTH ortalama bit hızıdır, 747464
CODECS kodlama bilgisidir, avc1.64001f, mp4a.40.2, avc h264 kodlama formatını temsil eder, aşağıdaki 64001f onaltılık ile temsil edilen kodlama parametresidir, 64, 00, 1f sırasıyla üç farklı parametre değerini temsil eder. mp4a bir ses kodlama formatıdır ve aşağıdaki 40.2, ses kodlama parametrelerini temsil etmektedir.
ÇÖZÜNÜRLÜK, video çözünürlüğüdür. Mevcut video kaynağı çözünürlüğü 640x360'tır.
ÇERÇEVE HIZI maksimum kare hızıdır; 29.970, geçerli oynatmanın maksimum kare hızının saniyede 29.970 kare olduğunu gösterir.
AUDIO, ses grubudur ve program_audio, karşılık gelen ses grubunun adıdır.
SUBTITLES, ilgili altyazı grubunu gösterir ve subs, ilgili altyazı grubunun adıdır. Yukarıdaki altyazı bilgisi bir GROUP-ID'ye sahiptir ve bu değer ona karşılık gelir.
URI içerik yoludur, 0640 / 0640.m3u8, video kaynağının m3u8 dosya yoluna karşılık gelir. Bu, paket yakalama bilgilerinde görülebilir.
EXT-X-STREAM-INF'in altında, oynatma listesi dosyasında bulunan multimedya kaynağının I çerçevesini (ana çerçeve) temsil eden EXT-XI-FRAME-STREAM-INF bulunur. I çerçevesi yalnızca bir resim olduğundan, ses içeriği içermez ve kalan parametreler video içeriği formatıyla tutarlıdır.
Bundan sonra 1920x1080, 1280x720, 960x540, 480x270 gibi farklı çözünürlüklere karşılık gelen video kaynakları vardır. HLS, çözünürlüğü ağ durumuna göre otomatik olarak değiştireceğinden, genellikle seçim için çoklu çözünürlükler hazırlanır. Yakalanan verilerin analizine göre oynatılan ilk segment 640 çözünürlükte, ardından ikinciden 8'e kadar olan kısım 480 çözünürlükte ve ardından 640 çözünürlüğe getiriliyor.
ses formatı
Aşağıya bakmak, karşılık gelen sesin dizinidir
# EXT-X-MEDIA: TYPE = AUDIO, GROUP-ID = "program_audio", LANGUAGE = "eng", NAME = "Alternatif Ses", AUTOSELECT = EVET, VARSAYILAN = EVET, URI = "audio1 / audio1.m3u8" Kopyala Kod
# EXT-X-MEDIA yukarıda göründü, ancak birden çok dil için listeden bahsetmedi.
TYPE = AUDIO, bu sefer tür ses.
GROUP-ID, EXT-X-STREAM-INF'deki AUDIO içeriğine karşılık gelen grup kimliğidir.
URI = audio1 / audio1.m3u8, ses yoluna karşılık gelir.
Farklı kodlama formatlarının alternatif kaynakları
Ana M3U8 dosyasında, yukarıdaki 640 çözünürlükle aynı olmayan 640 çözünürlüklü bir video kaynağı da görebiliriz. İçeriği şu şekildedir:
#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 = "Alternatif Ses", AUTOSELECT = EVET, DEFAULT = EVET, URI = "audioc / prog_index.m3u8" Kopyala Kod
CODECS kodlama biçimi hvc1.2.4.H150.B0, mp4a.40.2 şeklindedir, ses kodlama biçimi değişmemiştir, ancak video kodlama biçimi değişmiştir. hvc1, HEVC (H265) kodlama formatlarından biridir. Apple tarafından başlatılan yeni nesil bir video kodlama formatıdır. Uyumluluk sorunları nedeniyle, birçok istemci bu biçimi ayrıştıramaz, bu nedenle çok popüler değildir. Bu formattaki video kaynakları görünür Burada bir yedek olmalıdır. Aynı çözünürlükteki iki içeriği karşılaştırdığımızda, hvc1 formatının bit hızının avc1 formatından daha yüksek olduğu ve bu da aynı çözünürlük altında hvc1 içeriğinin daha büyük ve avc1'in sıkıştırma oranının daha yüksek olduğunu göstermektedir.
Hvc1 formatındaki video kaynağına karşılık olarak, altyazı içerik gruplaması ve ses içeriği gruplaması da değişmiştir, bu nedenle yukarıdaki altyazıların aynı dilden iki kopyası vardır ve bunlar avc1 ve hvc1 formatlarındaki video kaynaklarına karşılık gelir.
Bu, M3U8'in ana listesidir. Bu içeriğin sesi ve videosu ayrı ayrı işlenir, ancak birleştirilebilirler.
Medya bilgilerini içeren M3u8 dosyası
0640.m3u8 dosyasını örnek olarak alın
#EXTM3U
# EXT-X-VERSION: 4
# EXT-X-TARGETDURATION: 7
# EXT-X-MEDIA-SIRA: 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-ENDLIST Kodu kopyala
# EXTM3U ve # EXT-X-VERSION, sırasıyla M3U dosya başlığı ve uyumlu sürüm numarasıdır. Bu biçim eski bir sürümdür, bu nedenle sürüm numarası ana dosyadan daha düşüktür.
EXT-X-TARGETDURATION, her bir oynatma bölümünün maksimum süresini temsil eder, 7, 7 saniyeyi temsil eder ve bu dizindeki bölümler 7 saniyeyi geçemez.
EXT-X-MEDIA-SEQUENCE, oynatma listesinin ilk bölümünün sıra numarasını temsil eder ve 1, oynatma bölümünün 1'den başladığını temsil eder.
#EXTINF, segmentin süresini temsil eder, 6.006, geçerli segmentin 6.006s olduğu anlamına gelir. Toplam video süresi bilgisi, bu değer toplanarak elde edilir.
0640_00001.ts, klibin göreceli yoludur. Ts dosyası bir video veya ses parçasını temsil eder ve ts, mp4, aac ve diğer formatlarda olabilir. Çünkü 1'den açılacağı belirtildi
|
Sürpriz almak için e-posta girin
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Arnavutça
ar.fmuser.org -> Arapça
hy.fmuser.org -> Ermeni
az.fmuser.org -> Azerice
eu.fmuser.org -> Bask Dili
be.fmuser.org -> Beyaz Rusça
bg.fmuser.org -> Bulgar
ca.fmuser.org -> Katalanca
zh-CN.fmuser.org -> Çince (Basitleştirilmiş)
zh-TW.fmuser.org -> Çince (Geleneksel)
hr.fmuser.org -> Hırvatça
cs.fmuser.org -> Çekçe
da.fmuser.org -> Danca
nl.fmuser.org -> Hollandalı
et.fmuser.org -> Estonca
tl.fmuser.org -> Filipinli
fi.fmuser.org -> Fince
fr.fmuser.org -> Fransızca
gl.fmuser.org -> Galiçyaca
ka.fmuser.org -> Gürcüce
de.fmuser.org -> Almanca
el.fmuser.org -> Yunanca
ht.fmuser.org -> Haiti Kreyolu
iw.fmuser.org -> İbranice
hi.fmuser.org -> Hintçe
hu.fmuser.org -> Macar
is.fmuser.org -> İzlandaca
id.fmuser.org -> Endonezya
ga.fmuser.org -> İrlandalı
it.fmuser.org -> İtalyan
ja.fmuser.org -> Japonca
ko.fmuser.org -> Korece
lv.fmuser.org -> Letonca
lt.fmuser.org -> Litvanya
mk.fmuser.org -> Makedonca
ms.fmuser.org -> Malayca
mt.fmuser.org -> Malta
no.fmuser.org -> Norveç
fa.fmuser.org -> Farsça
pl.fmuser.org -> Lehçe
pt.fmuser.org -> Portekizce
ro.fmuser.org -> Romen
ru.fmuser.org -> Rusça
sr.fmuser.org -> Sırpça
sk.fmuser.org -> Slovakça
sl.fmuser.org -> Slovence
es.fmuser.org -> İspanyolca
sw.fmuser.org -> Svahili
sv.fmuser.org -> İsveççe
th.fmuser.org -> Tay
tr.fmuser.org -> Türkçe
uk.fmuser.org -> Ukraynaca
ur.fmuser.org -> Urduca
vi.fmuser.org -> Vietnamca
cy.fmuser.org -> Galce
yi.fmuser.org -> Yidiş
FMUSER Kablosuz Video ve Sesi Daha Kolay İletin!
İletişim
Adres:
No.305 Oda HuiLan Binası No. 273 Huanpu Yolu Guangzhou Çin 510620
Kategoriler
Kaydolun