Ang FMUSER Wirless ay Naghahatid ng Video At Audio Nang Mas Madali!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanian
ar.fmuser.org -> Arabe
hy.fmuser.org -> Armenian
az.fmuser.org -> Azerbaijani
eu.fmuser.org -> Basque
be.fmuser.org -> Belarusian
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> Catalan
zh-CN.fmuser.org -> Intsik (Pinasimple)
zh-TW.fmuser.org -> Intsik (Tradisyunal)
hr.fmuser.org -> Croatian
cs.fmuser.org -> Czech
da.fmuser.org -> Danish
nl.fmuser.org -> Dutch
et.fmuser.org -> Estonian
tl.fmuser.org -> Pilipino
fi.fmuser.org -> Finnish
fr.fmuser.org -> Pranses
gl.fmuser.org -> Galician
ka.fmuser.org -> Georgian
de.fmuser.org -> Aleman
el.fmuser.org -> Greek
ht.fmuser.org -> Haitian Creole
iw.fmuser.org -> Hebrew
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> Icelandic
id.fmuser.org -> Indonesian
ga.fmuser.org -> Irish
it.fmuser.org -> Italian
ja.fmuser.org -> Japanese
ko.fmuser.org -> Koreano
lv.fmuser.org -> Latvian
lt.fmuser.org -> Lithuanian
mk.fmuser.org -> Macedonian
ms.fmuser.org -> Malay
mt.fmuser.org -> Maltese
no.fmuser.org -> Norwegian
fa.fmuser.org -> Persian
pl.fmuser.org -> Polish
pt.fmuser.org -> Portuges
ro.fmuser.org -> Romanian
ru.fmuser.org -> Ruso
sr.fmuser.org -> Serbiano
sk.fmuser.org -> Slovak
sl.fmuser.org -> Slovenian
es.fmuser.org -> Espanyol
sw.fmuser.org -> Swahili
sv.fmuser.org -> Suweko
th.fmuser.org -> Thai
tr.fmuser.org -> Turkish
uk.fmuser.org -> Ukrainian
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Welsh
yi.fmuser.org -> Yiddish
likuran
Ang MP4 ang aming karaniwang format ng video, at madalas kapag nagpe-play kami ng mga video ng server, direkta itong hiniling na mapagkukunan ng video ng MP4. Ngunit sa katunayan, hindi ito mabuti. Ang MP4 header file na [ftyp + moov] ay malaki, at ang paunang pag-playback ay kailangang i-download ang kumpletong file ng header at pag-aralan ito, at pagkatapos ay mag-download ng isang tiyak na haba ng maaaring i-play na video clip upang i-play. Bilang karagdagan, habang tumataas ang laki ng video, magpapatuloy na lumaki ang header file, at magiging mas matagal ang paunang oras ng pag-playback. Sa view ng sitwasyong ito, kailangan ng isang paraan na maaaring mapabilis ang paunang pagtatasa ng video. Ang HLS ay ang solusyon na iminungkahi ng Apple upang malutas ang problemang ito.
HLS
Ang HLS ay ang pagpapaikli ng HTTP Live Streaming. Ito ay isang HTTP-based streaming media network transmission protocol na iminungkahi ng Apple. Maaari itong suportahan ang live at on-demand nang sabay, pati na rin ang multi-kahulugan, audio at video dual-track, mga subtitle at iba pang mga pagpapaandar. Ang prinsipyo nito ay upang hatiin ang isang buong video sa maraming maliliit na video, at ang kumpletong pag-playback ay nabuo sa pamamagitan ng paghahati sa mga segment na ito.
Malawakang ginagamit ang HLS sa mga mobile terminal. Ang mga kasalukuyang kliyente na sumusuporta sa HLS protocol ay may kasamang:
Ang iOS 3.0 at mas mataas pa, katutubong sinusuportahan ng AVPlayer ang HLS
Android 3.0 at sa itaas
Adobe Flash Player 11.0 at mas mataas pa
Ang pangkalahatang prinsipyo nito ay ito:
1. Kolektahin ang audio at video
2. I-encode ang audio at video sa server
3. Pagkatapos ng pag-encode, ipasa ito sa Stream Segmenter sa anyo ng MPEG-2 transport stream
4. Lumilikha ang slicer ng isang index file at isang ts playlist, ginagamit ang index file upang ipahiwatig ang posisyon ng audio at video, at ang ts ay isang tunay na multimedia clip
5. Ilagay ang mga mapagkukunan ng nakaraang hakbang sa HTTP server
6. Humihiling ang kliyente ng index file para sa pag-playback, at ang nilalaman ng pag-playback ay matatagpuan sa pamamagitan ng index file
M3U8
Ang isang pangunahing hakbang upang mapagtanto ang HLS ay ang ika-apat na hakbang sa itaas, lalo ang samahan ng mga index file at ts playlist. Ginamit dito ang format na M3U8. Ang M3U8 ay ang bersyon ng Unicode ng M3U, ang ibig sabihin ng 8 ay ginagamit ang pag-encode ng UTF-8, at ang parehong M3U at M3U8 ay mga format ng file para sa mga listahan ng multimedia.
Paglalarawan ng format na M3U8
Minsan maaaring kailanganin nating manu-manong baguhin ang nilalaman ng M3U8 file para sa pagsubok o sa ilang mga espesyal na kaso, kaya kailangan naming magkaroon ng isang tiyak na pag-unawa sa format nito. Ang kahulugan ng format na ito ay nakasulat sa dokumento ng RFC 8216. Ang mga sumusunod ay ilang tala:
Ang mga file ng M3U8 ay dapat na naka-encode sa UTF-8, at hindi maaaring gumamit ng byte Order Mark (BOM) byte order, at hindi maaaring maglaman ng utf-8 control character (U + 0000 ~ U_001F at U + 007F ~ u + 009F)
Ang bawat linya ng nilalaman ng file na M3U8 ay alinman sa isang blangko na linya, isang URI, o isang string na nagsisimula sa #, at walang mga character na blangko ang maaaring lumitaw.
Ang mga built-in na tag ay lahat ng mga string na nagsisimula sa #EXT at case sensitive.
Ang URI ay ang path ng nilalaman, na maaaring maging isang kaugnay na landas o isang ganap na landas
Master M3U8 list file
Ang pangunahing M3U8 index file ay karaniwang ginagamit upang tukuyin ang maraming mga mapagkukunan ng index. Pag-aralan muna natin ang nilalaman ng pangunahing m3u8 file hls_vod_mvp.m3u8, ganito ang ulo nito
Format ng header
#EXTM3U
# EXT-X-VERSION: 7
# EXT-X-INDEPENDENT-SEGMENTSkrip ng kopya
Ipinapahiwatig ng # EXTM3U na ang file ay nasa format na M3U, at dapat ilagay ng lahat ng mga file na format na M3U ang nilalaman sa unang linya.
# EXT-X-VERSIOn ay nagpapahiwatig ng katugmang bersyon ng playlist, na kasalukuyang 7.
# EXT-X-INDEPENDENT-SEGMENTS Ang tag na ito ay nagpapahiwatig na ang lahat ng mga sample ng media sa isang segment ng media ay maaaring mai-decode nang nakapag-iisa nang hindi umaasa sa ibang impormasyon ng segment ng media.
Format ng subtitle
Ang nilalaman sa ibaba ay ilang mga caption, ang nilalaman ng mga caption ay hindi kinakailangan.
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subs", NAME = "English", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "eng", URI = "subtitles / eng / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subsC", NAME = "English", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "eng", URI = "subtitles / engc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subs", NAME = "Japanese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "jpn", URI = "subtitles / jpn / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subsC", NAME = "Japanese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "jpn", URI = "subtitles / jpnc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subs", NAME = "Chinese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "zho", URI = "subtitles / zho / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subsC", NAME = "Chinese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "zho", URI = "subtitles / zhoc / prog_index.m3u8 "Kopyahin ang code
Ginagamit ang # EXT-X-MEDIA upang tukuyin ang mga mapagkukunan ng listahan ng multilingual media ng parehong nilalaman.
Ang URI ay ang uri ng mapagkukunan, at ang mga opsyonal na nilalaman ay: AUDIO, VIDEO, Mga SUBITIT, CLOSED-CAPTIONS.
Ang nilalaman sa itaas ay nagtatakda ng TYPE = SUBTITLES, na kung saan ay ang uri ng subtitle.
Ang GROUP-ID ay ang pangkat kung saan nabibilang ang multilingual na pagsasalin at isang kinakailangang parameter
Ang NAME ay nababasa na impormasyon ng paglalarawan ng stream ng pagsasalin, at ang halagang ito ay tumutugma sa displayName ng AVMediaSelectionOption.
Ang DEFAULT, AUTOSELECT, sapilitang ay tatlong mga halaga ng BOOL na naaayon sa kung ang stream ng pagsasalin ay napili bilang default kung ang kinakailangang impormasyon ay nawawala. Pinatugtog ang stream ng pag-playback kapag hindi ipinakita ng gumagamit ang mga setting. Ang Puwersa ay wasto lamang para sa uri ng subtitle at ginagamit upang markahan ang kasalukuyang awtomatikong pagpili ng stream ng pagsasalin. .
Ginagamit ang LANGUAGE upang tukuyin ang uri ng wika, na itinakda alinsunod sa [ISO 639 code ng wika] (https://www.w3.org/WAI/ER/WD-AERT/iso639.htm "ISO 639 code ng wika") pamantayan. Kapag ang system default player ay pipili ng mga subtitle, ang pangalan ng listahan ng subtitle na ipinakita ay nakatakda alinsunod sa halagang ito.
Ang URI ay ang impormasyon sa lokasyon ng mapagkukunan, kung saan tumutugma ito sa isang subtitle na M3U8 file. ang mga subtitle / eng / prog_index.m3u8 ay isang kaugnay na landas,
Sa pamamagitan ng impormasyon sa itaas, maaari naming pag-aralan ang kahulugan ng nilalaman sa itaas bilang: Sinusuportahan ng kasalukuyang video ang tatlong mga subtitle: Ingles, Hapon, at Tsino. Ngunit ang bawat wika ay mayroong dalawang mensahe na EXT-X-MEDIA. Ang pagkakaiba sa pagitan nila ay ang pagpapangkat, ang isa ay pinangkat sa subs at ang isa ay pinangkat sa subsC. Bakit may dalawang pangkat? Pag-uusapan ko ito mamaya.
Video format
Tumingin muli sa ibaba, para sa index ng nilalaman ng 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: Tumutukoy ang katangiang ito ng isang backup na mapagkukunan, iyon ay, ang landas ng pag-playback ng video at ilang impormasyon sa video. Ang sumusunod ay ang pagsasaayos ng kaukulang nilalaman: Ang BANDWIDTH ay ang rate ng rurok na bit, 827299 ay 827299bit / s, na kung saan ay ang pinakamataas na oras ng rurok na Naubos ang 101KB ng trapiko bawat segundo.
Ang AVERAGE-BANDWIDTH ay ang average bit rate, 747464
Ang CODECS ay impormasyon sa pag-encode, avc1.64001f, mp4a.40.2, ang avc ay kumakatawan sa format ng pag-encode ng h264, ang sumusunod na 64001f ay ang parameter ng pag-encode na kinakatawan ng hexadecimal, 64, 00, 1f ayon sa pagkakabanggit ay kumakatawan sa tatlong magkakaibang mga halaga ng parameter. Ang mp4a ay isang format ng audio coding, at ang sumusunod na 40.2 ay kumakatawan sa mga parameter ng pag-coding ng audio.
Ang RESOLUTION ay ang resolusyon ng video. Ang kasalukuyang resolusyon sa mapagkukunan ng video ay 640x360.
Ang FRAME-RATE ay ang maximum na rate ng frame, ang 29.970 ay kumakatawan sa maximum na rate ng frame ng kasalukuyang pag-playback ay 29.970 na mga frame bawat segundo.
Ang AUDIO ay ang audio group, at ang program_audio ang pangalan ng kaukulang pangkat ng audio.
Ang mga SUBTITLES ay nagpapahiwatig ng kaukulang pangkat ng subtitle, at ang subs ay ang pangalan ng kaukulang pangkat ng subtitle. Ang impormasyon sa subtitle sa itaas ay may isang GROUP-ID, at ang halagang ito ay tumutugma dito.
Ang URI ang path ng nilalaman, 0640 / 0640.m3u8 ay tumutugma sa m3u8 file path ng pinagmulan ng video. Makikita ito sa impormasyon ng packet capture.
Sa ibaba ng EXT-X-STREAM-INF ay EXT-XI-FRAME-STREAM-INF, na kumakatawan sa I frame (key frame) ng mapagkukunang multimedia na nilalaman sa playlist file. Dahil ang frame na I ay isang larawan lamang, hindi ito naglalaman ng nilalamang audio, at ang natitirang mga parameter ay pare-pareho sa format ng nilalaman ng video.
Pagkatapos nito, may mga mapagkukunan ng video na naaayon sa iba't ibang mga resolusyon, 1920x1080, 1280x720, 960x540, 480x270. Sapagkat ang HLS ay awtomatikong lilipat ng resolusyon ayon sa sitwasyon ng network, maraming mga resolusyon ang pangkalahatang inihanda para sa pagpili. Ayon sa pagtatasa ng nakuha na data, ang unang segment na nilalaro ay 640 resolusyon, ang pangalawa hanggang 8 na segment pagkatapos nito ay 480 na resolusyon, at pagkatapos ay lilipat ito sa 640 na resolusyon.
audio format
Ang pagtingin sa ibaba ay ang index ng kaukulang audio
# EXT-X-MEDIA: TYPE = AUDIO, GROUP-ID = "program_audio", LANGUAGE = "eng", NAME = "Alternate Audio", AUTOSELECT = YES, DEFAULT = YES, URI = "audio1 / audio1.m3u8" Kopyahin Code
Ang # EXT-X-MEDIA ay lumitaw sa itaas, ngunit hindi binanggit ang listahan para sa maraming wika.
URI = AUDIO, sa ganitong oras ang uri ay audio.
Ang GROUP-ID ay ang group ID, na tumutugma sa nilalamang AUDIO sa EXT-X-STREAM-INF.
Ang URI = audio1 / audio1.m3u8 ay tumutugma sa audio path.
Mga kahaliling mapagkukunan ng iba't ibang mga format ng pag-encode
Sa pangunahing file na M3U8, maaari din naming makita ang isang mapagkukunan ng resolusyon ng 640 na video, na hindi pareho sa resolusyon sa itaas na 640. Ang nilalaman nito ay ganito:
#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" Kopyahin Code
Ang format ng pag-encode ng CODECS ay hvc1.2.4.H150.B0, mp4a.40.2, ang format ng pag-encode ng audio ay hindi nagbago, ngunit ang format ng pag-encode ng video ay nagbago. Ang hvc1 ay isa sa mga format ng pag-encode ng HEVC (H265). Ito ay isang bagong henerasyon na format ng pag-encode ng video na inilunsad ng Apple. Dahil sa mga isyu sa pagiging tugma, maraming mga kliyente ang hindi maaaring mai-parse ang format na ito, kaya't hindi ito masyadong tanyag. Lumilitaw ang mga mapagkukunan ng video ng format na ito Dapat ay isang backup dito. Ang paghahambing ng dalawang nilalaman ng parehong resolusyon, mahahanap na ang rate ng bit ng format ng hvc1 ay mas mataas kaysa sa avc1 format, na nagpapakita na ang nilalaman ng hvc1 ay mas malaki at ang compression ratio ng avc1 ay mas mataas sa ilalim ng parehong resolusyon.
Naaayon sa pinagmulan ng video na format ng hvc1, ang pagpapangkat ng nilalaman ng subtitle at pagpapangkat ng nilalaman ng audio ay nagbago din, kaya't ang mga subtitle sa itaas ay may dalawang kopya ng parehong wika, at tumutugma ito sa mga mapagkukunan ng video sa mga format na avc1 at hvc1.
Ito ang pangunahing listahan ng M3U8. Ang audio at video ng nilalamang ito ay hiwalay na naproseso, ngunit maaari din silang pagsamahin.
M3u8 file na naglalaman ng impormasyon sa media
Kunin ang file na 0640.m3u8 bilang isang halimbawa
#EXTM3U
# EXT-X-VERSION: 4
# EXT-X-TARGETDURATION: 7
# EXT-X-MEDIA-SEQUENCE: 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-ENDLISTCopy code
Ang # EXTM3U at # EXT-X-VERSION ay ang M3U file header at katugmang numero ng bersyon ayon sa pagkakabanggit. Ang format na ito ay isang maagang bersyon kaya ang bilang ng bersyon ay mas mababa kaysa sa pangunahing file.
Kinakatawan ng EXT-X-TARGETDURATION ang maximum na tagal ng bawat segment ng pag-playback, 7 ay kumakatawan sa 7 segundo, at ang mga segment sa direktoryong ito ay hindi maaaring lumagpas sa 7s.
Ang EXT-X-MEDIA-SEQUENCE ay kumakatawan sa bilang ng pagkakasunud-sunod ng unang segment ng playlist, at 1, ay kumakatawan na ang segment ng pag-play ay nagsisimula sa 1.
Kinakatawan ng #EXTINF ang tagal ng segment, 6.006 nangangahulugang ang kasalukuyang segment ay 6.006s. Ang kabuuang impormasyon ng tagal ng video ay nakuha sa pamamagitan ng pag-iipon ng halagang ito.
0640_00001.ts ay ang kamag-anak na landas ng clip. Ang file ng ts ay kumakatawan sa isang piraso ng video o audio, at maaari itong nasa ts, mp4, aac at iba pang mga format. Dahil tinukoy ito upang buksan mula sa 1
|
Ipasok ang email upang makakuha ng sorpresa
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanian
ar.fmuser.org -> Arabe
hy.fmuser.org -> Armenian
az.fmuser.org -> Azerbaijani
eu.fmuser.org -> Basque
be.fmuser.org -> Belarusian
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> Catalan
zh-CN.fmuser.org -> Intsik (Pinasimple)
zh-TW.fmuser.org -> Intsik (Tradisyunal)
hr.fmuser.org -> Croatian
cs.fmuser.org -> Czech
da.fmuser.org -> Danish
nl.fmuser.org -> Dutch
et.fmuser.org -> Estonian
tl.fmuser.org -> Pilipino
fi.fmuser.org -> Finnish
fr.fmuser.org -> Pranses
gl.fmuser.org -> Galician
ka.fmuser.org -> Georgian
de.fmuser.org -> Aleman
el.fmuser.org -> Greek
ht.fmuser.org -> Haitian Creole
iw.fmuser.org -> Hebrew
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> Icelandic
id.fmuser.org -> Indonesian
ga.fmuser.org -> Irish
it.fmuser.org -> Italian
ja.fmuser.org -> Japanese
ko.fmuser.org -> Koreano
lv.fmuser.org -> Latvian
lt.fmuser.org -> Lithuanian
mk.fmuser.org -> Macedonian
ms.fmuser.org -> Malay
mt.fmuser.org -> Maltese
no.fmuser.org -> Norwegian
fa.fmuser.org -> Persian
pl.fmuser.org -> Polish
pt.fmuser.org -> Portuges
ro.fmuser.org -> Romanian
ru.fmuser.org -> Ruso
sr.fmuser.org -> Serbiano
sk.fmuser.org -> Slovak
sl.fmuser.org -> Slovenian
es.fmuser.org -> Espanyol
sw.fmuser.org -> Swahili
sv.fmuser.org -> Suweko
th.fmuser.org -> Thai
tr.fmuser.org -> Turkish
uk.fmuser.org -> Ukrainian
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Welsh
yi.fmuser.org -> Yiddish
Ang FMUSER Wirless ay Naghahatid ng Video At Audio Nang Mas Madali!
Makipag-ugnay sa
Tirahan
No.305 Room Huilan Building No.273 Huanpu Road Guangzhou China 510620
Kategorya
Newsletter