„FMUSER Wirless“ perduoda vaizdo ir garso įrašus lengviau!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanų kalba
sq.fmuser.org -> albanų
ar.fmuser.org -> arabų
hy.fmuser.org -> armėnas
az.fmuser.org -> azerbaidžanietis
eu.fmuser.org -> baskų
be.fmuser.org -> baltarusių
bg.fmuser.org -> bulgarų
ca.fmuser.org -> katalonų
zh-CN.fmuser.org -> kinų (supaprastinta)
zh-TW.fmuser.org -> kinų (tradicinė)
hr.fmuser.org -> kroatų
cs.fmuser.org -> čekų
da.fmuser.org -> danų
nl.fmuser.org -> Olandų
et.fmuser.org -> estų
tl.fmuser.org -> filipinietis
fi.fmuser.org -> suomių
fr.fmuser.org -> prancūzų
gl.fmuser.org -> Galisų
ka.fmuser.org -> gruzinų
de.fmuser.org -> vokiečių kalba
el.fmuser.org -> graikų
ht.fmuser.org -> Haičio kreolis
iw.fmuser.org -> hebrajų
hi.fmuser.org -> hindi
hu.fmuser.org -> vengrų
is.fmuser.org -> islandų
id.fmuser.org -> indoneziečių
ga.fmuser.org -> airių
it.fmuser.org -> italų kalba
ja.fmuser.org -> japonų
ko.fmuser.org -> korėjiečių
lv.fmuser.org -> latvių
lt.fmuser.org -> lietuvis
mk.fmuser.org -> makedonų
ms.fmuser.org -> malajiečių
mt.fmuser.org -> maltiečių
no.fmuser.org -> norvegų
fa.fmuser.org -> persų
pl.fmuser.org -> lenkų
pt.fmuser.org -> portugalų
ro.fmuser.org -> rumunų
ru.fmuser.org -> rusų
sr.fmuser.org -> serbų
sk.fmuser.org -> slovakų
sl.fmuser.org -> slovėnų
es.fmuser.org -> ispanų
sw.fmuser.org -> svahili kalba
sv.fmuser.org -> švedų
th.fmuser.org -> Tailando
tr.fmuser.org -> turkų
uk.fmuser.org -> ukrainietis
ur.fmuser.org -> urdu
vi.fmuser.org -> vietnamiečių
cy.fmuser.org -> Valų kalba
yi.fmuser.org -> jidiš
fonas
MP4 yra mūsų įprastas vaizdo įrašo formatas ir dažnai, kai leidžiame serverio vaizdo įrašus, jis yra tiesiogiai prašomas MP4 vaizdo įrašų šaltinis. Bet iš tikrųjų tai nėra gerai. MP4 antraštės failas [ftyp + moov] yra didelis, o pradiniam atkūrimui reikia atsisiųsti visą antraštės failą ir jį išanalizuoti, o tada atsisiųsti tam tikro ilgio grojamą vaizdo įrašą. Be to, didėjant vaizdo įrašo dydžiui, antraštės failas ir toliau augs, o pradinis atkūrimo laikas bus ilgesnis. Atsižvelgiant į šią situaciją, reikalingas metodas, galintis paspartinti pradinę vaizdo įrašo analizę. HLS yra „Apple“ pasiūlytas sprendimas šiai problemai išspręsti.
HLS
HLS yra „HTTP Live Streaming“ santrumpa. Tai yra „Apple“ pasiūlytas HTTP pagrindu veikiantis srautinės medijos tinklo perdavimo protokolas. Jis gali palaikyti tiesioginį ir pareikalavimą tuo pačiu metu, taip pat daugialypį, garso ir vaizdo dvigubą takelį, subtitrus ir kitas funkcijas. Jos principas yra padalinti visą vaizdo įrašą į kelis mažus vaizdo įrašus, o visas atkūrimas susidaro sujungiant šiuos segmentus.
HLS plačiai naudojama mobiliuosiuose terminaluose. Dabartiniai klientai, palaikantys HLS protokolą, yra šie:
„iOS 3.0“ ir naujesnėse versijose „AVPlayer“ natūraliai palaiko HLS
"Android" 3.0 ir aukščiau
„Adobe Flash Player 11.0“ ir naujesnės versijos
Jos pagrindinis principas yra toks:
1. Surinkite garso ir vaizdo įrašus
2. Užkoduokite garso ir vaizdo įrašus serveryje
3. Užkodavę, perduokite jį „Stream Segmenter“ MPEG-2 transporto srauto pavidalu
4. Pjaustyklė sukuria rodyklės failą ir „ts“ grojaraštį, rodyklės failas naudojamas garso ir vaizdo padėčiai nurodyti, o „ts“ yra tikras daugialypės terpės klipas.
5. Į HTTP serverį įdėkite ankstesnio veiksmo išteklius
6. Klientas prašo rodyklės failo atkūrimo, o atkūrimo turinį galima rasti per rodyklės failą
M3U8
Pagrindinis žingsnis norint realizuoti HLS yra ketvirtasis žingsnis aukščiau, būtent indeksų failų ir „TS“ grojaraščių organizavimas. Čia naudojamas M3U8 formatas. M3U8 yra „Unicode“ M3U versija, 8 reiškia, kad naudojama UTF-8 koduotė, o M3U ir M3U8 yra daugialypės terpės sąrašų failų formatai.
M3U8 formato aprašymas
Kartais mums gali tekti rankiniu būdu modifikuoti M3U8 failo turinį, kad būtų galima išbandyti, arba kai kuriais ypatingais atvejais, todėl turime tam tikrą supratimą apie jo formatą. Šio formato apibrėžimas įrašytas RFC 8216 dokumente. Toliau pateikiamos kelios pastabos:
M3U8 failai turi būti užkoduoti UTF-8 ir negali naudoti baitų eilės ženklo (BOM) baitų tvarkos ir negali būti „utf-8“ valdymo simbolių (U + 0000 ~ U_001F ir U + 007F ~ u + 009F)
Kiekviena failo M3U8 turinio eilutė yra tuščia eilutė, URI arba eilutė, prasidedanti #, ir tuščių simbolių negali būti.
Integruotos žymos yra visos eilutės, prasidedančios raide #EXT, ir didžiosios ir mažosios raidės.
URI yra turinio kelias, kuris gali būti santykinis arba absoliutus kelias
Pagrindinis M3U8 sąrašo failas
Pagrindinis M3U8 indekso failas paprastai naudojamas nurodyti kelis indekso šaltinius. Pirmiausia išanalizuokime pagrindinio m3u8 failo hls_vod_mvp.m3u8 turinį, jo galva yra tokia
Antraštės formatas
#EXTM3U
# EXT-X-VERSIJA: 7
# EXT-X-NEPRIKLAUSOMAS-SEGMENTASKopijos kodas
# EXTM3U nurodo, kad failas yra M3U formato, o visi M3U formato failai turėtų įrašyti turinį į pirmąją eilutę.
# EXT-X-VERSIOn rodo suderinamą grojaraščio versiją, kuri šiuo metu yra 7.
# EXT-X-NEPRIKLAUSOMI SEGMENTAI Ši žyma nurodo, kad visus laikmenų segmento laikmenų pavyzdžius galima iššifruoti atskirai, nepasikliaujant kita medijos segmentų informacija.
Subtitrų formatas
Žemiau pateiktas turinys yra keletas antraštių, antraščių turinys nėra būtinas.
# EXT-X-MEDIA: TYPE = SUBTITRAI, GROUP-ID = "subs", NAME = "English", DEFAULT = TAIP, AUTOSELECT = TAIP, PRIVERTA = NE, KALBA = "eng", URI = "subtitrai / eng / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITRAI, GROUP-ID = "subsC", NAME = "English", DEFAULT = TAIP, AUTOSELECT = TAIP, PRIVERTA = NE, KALBA = "eng", URI = "subtitrai / engc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITRAI, GROUP-ID = "subs", NAME = "Japanese", DEFAULT = TAIP, AUTOSELECT = TAIP, PRIVERTA = NE, KALBA = "jpn", URI = "subtitrai / jpn / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITRAI, GROUP-ID = "subsC", NAME = "Japanese", DEFAULT = TAIP, AUTOSELECT = TAIP, PRIVERTA = NE, KALBA = "jpn", URI = "subtitrai / jpnc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITRAI, GROUP-ID = "subs", NAME = "Chinese", DEFAULT = TAIP, AUTOSELECT = TAIP, PRIVERTA = NE, KALBA = "zho", URI = "subtitrai / zho / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITRAI, GROUP-ID = "subsC", NAME = "Chinese", DEFAULT = TAIP, AUTOSELECT = TAIP, PRIVERTA = NE, KALBA = "zho", URI = "subtitrai / zhoc / prog_index.m3u8 "Kopijuoti kodą
# EXT-X-MEDIA naudojama nurodyti daugiakalbius medijos sąrašo to paties turinio išteklius.
„TYPE“ yra šaltinio tipas, o pasirenkamas turinys yra: AUDIO, VIDEO, SUBTITRAI, UŽDARYTI Užrašai.
Aukščiau pateiktas turinys nustato TYPE = SUBTITLES, kuris yra paantraštės tipas.
GROUP-ID yra grupė, kuriai priklauso daugiakalbis vertimas, ir tai yra būtinas parametras
NAME yra skaitoma vertimo srauto aprašymo informacija, ir ši reikšmė atitinka „AVNediaSelectionOption“ displayName.
Numatytasis, automatinis pasirinkimas, priverstinis yra trys BOOL vertės, atitinkančios tai, ar vertimo srautas yra pasirinktas pagal numatytuosius nustatymus, jei trūksta reikiamos informacijos. Atkūrimo srautas grojamas, kai vartotojas nerodo nustatymų. FORCED galioja tik subtitrų tipui ir yra naudojamas pažymėti dabartinį vertimo srauto automatinį pasirinkimą. .
LANGUAGE naudojamas kalbos tipui nurodyti, kuris nustatomas pagal [ISO 639 kalbos kodą] (https://www.w3.org/WAI/ER/WD-AERT/iso639.htm „ISO 639 kalbos kodas“) standartas. Kai numatytasis sistemos grotuvas pasirenka subtitrus, pagal šią vertę nustatomas rodomo subtitrų sąrašo pavadinimas.
URI yra šaltinio informacija apie vietą, kur ji atitinka subtitruotą M3U8 failą. subtitles / eng / prog_index.m3u8 yra santykinis kelias,
Naudodamiesi aukščiau pateikta informacija, mes galime analizuoti aukščiau nurodyto turinio reikšmę: Dabartiniame vaizdo įraše palaikomi trys subtitrai: anglų, japonų ir kinų. Bet kiekviena kalba turi du EXT-X-MEDIA pranešimus. Skirtumas tarp jų yra grupavimas, vienas yra sugrupuotas į subs, o kitas - į subC. Kodėl yra dvi grupės? Apie tai pakalbėsiu vėliau.
Vaizdo formatas
Dar kartą pažvelkite žemyn, norėdami peržiūrėti vaizdo įrašo turinį:
#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: Šis atributas nurodo atsarginį šaltinį, ty vaizdo įrašo atkūrimo kelią ir tam tikrą vaizdo informaciją. Toliau pateikiama atitinkamo turinio konfigūracija: BANDWIDTH yra didžiausias bitų dažnis, 827299 yra 827299bit / s, o tai yra didžiausias piko laikas. Suvartoja 101 KB srauto per sekundę.
AVERAGE-BANDWIDTH yra vidutinė bitų sparta, 747464
CODECS koduoja informaciją, avc1.64001f, mp4a.40.2, avc reiškia h264 kodavimo formatą, šis 64001f yra kodavimo parametras, kurį atitinkamai žymi šešioliktainiai, 64, 00, 1f reiškia tris skirtingas parametro reikšmes. mp4a yra garso kodavimo formatas, o toliau pateiktame 40.2 punkte pateikiami garso kodavimo parametrai.
RESOLUTION yra vaizdo skiriamoji geba. Dabartinė vaizdo šaltinio skiriamoji geba yra 640 x 360.
FRAME-RATE yra maksimalus kadrų dažnis, 29.970 reiškia didžiausią dabartinio atkūrimo kadrų greitį, kuris yra 29.970 kadrų per sekundę.
AUDIO yra garso grupė, o program_audio yra atitinkamos garso grupės pavadinimas.
SUBTITLES nurodo atitinkamą subtitrų grupę, o subs yra atitinkamos subtitrų grupės pavadinimas. Pirmiau pateikta subtitrų informacija turi „GROUP-ID“ ir ši vertė ją atitinka.
URI yra turinio kelias, 0640 / 0640.m3u8 atitinka vaizdo įrašo šaltinio m3u8 failo kelią. Tai galima pamatyti paketų surinkimo informacijoje.
Žemiau EXT-X-STREAM-INF yra EXT-XI-FRAME-STREAM-INF, kuris žymi grojaraščio faile esančio daugialypės terpės šaltinio I kadrą (pagrindinį rėmelį). Kadangi „I“ rėmelis yra tik paveikslėlis, jame nėra garso turinio, o likę parametrai atitinka vaizdo įrašo turinio formatą.
Po to yra vaizdo šaltiniai, atitinkantys skirtingas skiriamąsias gebas, 1920x1080, 1280x720, 960x540, 480x270. Kadangi HLS automatiškai perjungs skiriamąją gebą pagal tinklo situaciją, paprastai pasirenkamos kelios skiriamosios gebos. Pagal užfiksuotų duomenų analizę, pirmasis grojamas segmentas yra 640 skiriamoji geba, antrasis - 8 segmentai yra 480 skiriamoji geba, o tada jis perjungiamas į 640 skiriamąją gebą.
garso formatas
Žvilgsnis žemyn yra atitinkamo garso indeksas
# EXT-X-MEDIA: TYPE = AUDIO, GROUP-ID = "program_audio", LANGUAGE = "eng", NAME = "Alternate Audio", AUTOSELECT = YES, DEFAULT = YES, URI = "audio1 / audio1.m3u8" Kopija Kodas
# EXT-X-MEDIA pasirodė aukščiau, bet neminėjo kelių kalbų sąrašo.
TYPE = AUDIO, šį kartą tipas yra garsas.
GROUP-ID yra grupės ID, atitinkantis EXT-X-STREAM-INF AUDIO turinį.
URI = audio1 / audio1.m3u8 atitinka garso kelią.
Alternatyvūs skirtingų kodavimo formatų šaltiniai
Pagrindiniame M3U8 faile taip pat galime pamatyti 640 skiriamosios gebos vaizdo šaltinį, kuris nėra tas pats, kas aukščiau nurodyta 640 skiriamoji geba. Jo turinys toks:
#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" Copy Kodas
CODECS kodavimo formatas yra hvc1.2.4.H150.B0, mp4a.40.2, garso kodavimo formatas nepasikeitė, tačiau vaizdo įrašo kodavimo formatas pasikeitė. hvc1 yra vienas iš HEVC (H265) kodavimo formatų. Tai naujos kartos vaizdo įrašų kodavimo formatas, kurį išleido „Apple“. Dėl suderinamumo problemų daugelis klientų negali išanalizuoti šio formato, todėl jis nėra labai populiarus. Pasirodo šio formato vaizdo įrašų šaltiniai. Čia turėtų būti atsarginė kopija. Palyginus du tos pačios skiriamosios gebos turinius, galima pastebėti, kad hvc1 formato bitų sparta yra didesnė nei avc1 formato, o tai rodo, kad hvc1 turinys yra didesnis, o avc1 glaudinimo laipsnis yra didesnis esant ta pačiai raiškai.
Atitinkamai „hvc1“ formato vaizdo įrašo šaltiniui, taip pat pasikeitė jo subtitrų turinio grupavimas ir garso turinio grupavimas, todėl minėti subtitrai turi dvi tos pačios kalbos kopijas ir jie atitinka vaizdo šaltinius „avc1“ ir „hvc1“ formatais.
Tai yra pagrindinis M3U8 sąrašas. Šio turinio garso ir vaizdo įrašai yra apdorojami atskirai, tačiau juos taip pat galima sujungti.
M3u8 failas, kuriame yra laikmenos informacija
Paimkite pavyzdį failą 0640.m3u8
#EXTM3U
# EXT-X-VERSIJA: 4
# EXT-X-TIKSLAS: 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-ENDLISTKopijos kodas
# EXTM3U ir # EXT-X-VERSION yra atitinkamai M3U failo antraštė ir suderinamas versijos numeris. Šis formatas yra ankstyvoji versija, todėl versijos numeris yra mažesnis nei pagrindinio failo.
EXT-X-TARGETDURATION reiškia didžiausią kiekvieno atkūrimo segmento trukmę, 7 reiškia 7 sekundes, o segmentai šiame kataloge negali viršyti 7 s.
EXT-X-MEDIA-SEQUENCE reiškia pirmojo grojaraščio segmento eilės numerį, o 1 - tai, kad grojimo segmentas prasideda nuo 1.
#EXTINF reiškia segmento trukmę, 6.006 reiškia, kad dabartinis segmentas yra 6.006s. Visa vaizdo įrašo trukmės informacija gaunama sukaupus šią vertę.
0640_00001.ts yra santykinis klipo kelias. TS failas reiškia vaizdo ar garso įrašą ir gali būti TS, mp4, aac ir kitais formatais. Nes nurodyta atidaryti nuo 1
|
Įveskite el. Pašto adresą, kad gautumėte staigmeną
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanų kalba
sq.fmuser.org -> albanų
ar.fmuser.org -> arabų
hy.fmuser.org -> armėnas
az.fmuser.org -> azerbaidžanietis
eu.fmuser.org -> baskų
be.fmuser.org -> baltarusių
bg.fmuser.org -> bulgarų
ca.fmuser.org -> katalonų
zh-CN.fmuser.org -> kinų (supaprastinta)
zh-TW.fmuser.org -> kinų (tradicinė)
hr.fmuser.org -> kroatų
cs.fmuser.org -> čekų
da.fmuser.org -> danų
nl.fmuser.org -> Olandų
et.fmuser.org -> estų
tl.fmuser.org -> filipinietis
fi.fmuser.org -> suomių
fr.fmuser.org -> prancūzų
gl.fmuser.org -> Galisų
ka.fmuser.org -> gruzinų
de.fmuser.org -> vokiečių kalba
el.fmuser.org -> graikų
ht.fmuser.org -> Haičio kreolis
iw.fmuser.org -> hebrajų
hi.fmuser.org -> hindi
hu.fmuser.org -> vengrų
is.fmuser.org -> islandų
id.fmuser.org -> indoneziečių
ga.fmuser.org -> airių
it.fmuser.org -> italų kalba
ja.fmuser.org -> japonų
ko.fmuser.org -> korėjiečių
lv.fmuser.org -> latvių
lt.fmuser.org -> lietuvis
mk.fmuser.org -> makedonų
ms.fmuser.org -> malajiečių
mt.fmuser.org -> maltiečių
no.fmuser.org -> norvegų
fa.fmuser.org -> persų
pl.fmuser.org -> lenkų
pt.fmuser.org -> portugalų
ro.fmuser.org -> rumunų
ru.fmuser.org -> rusų
sr.fmuser.org -> serbų
sk.fmuser.org -> slovakų
sl.fmuser.org -> slovėnų
es.fmuser.org -> ispanų
sw.fmuser.org -> svahili kalba
sv.fmuser.org -> švedų
th.fmuser.org -> Tailando
tr.fmuser.org -> turkų
uk.fmuser.org -> ukrainietis
ur.fmuser.org -> urdu
vi.fmuser.org -> vietnamiečių
cy.fmuser.org -> Valų kalba
yi.fmuser.org -> jidiš
„FMUSER Wirless“ perduoda vaizdo ir garso įrašus lengviau!
Susisiekite su mumis
Adresas:
Nr. 305 kambarys „HuiLan“ pastatas Nr. 273 Huanpu Road Guangdžou, Kinija 510620
Kategorijos
Naujienlaiškis