FMUSER Transferoni pa video dhe audio video dhe audio më lehtë!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikanisht
sq.fmuser.org -> shqip
ar.fmuser.org -> arabisht
hy.fmuser.org -> Armenisht
az.fmuser.org -> Azerbajxhanisht
eu.fmuser.org -> Baskisht
be.fmuser.org -> Bjellorusisht
bg.fmuser.org -> Bullgarisht
ca.fmuser.org -> katalanisht
zh-CN.fmuser.org -> Kinezisht (e thjeshtuar)
zh-TW.fmuser.org -> Kinezisht (Tradicionale)
hr.fmuser.org -> Kroate
cs.fmuser.org -> Çekisht
da.fmuser.org -> daneze
nl.fmuser.org -> Hollandisht
et.fmuser.org -> Estonisht
tl.fmuser.org -> Filipinase
fi.fmuser.org -> finlandisht
fr.fmuser.org -> Frëngjisht
gl.fmuser.org -> Galike
ka.fmuser.org -> gjeorgjian
de.fmuser.org -> gjermanisht
el.fmuser.org -> Greqisht
ht.fmuser.org -> Kreolishtja Haitiane
iw.fmuser.org -> Hebraisht
hi.fmuser.org -> Hindisht
hu.fmuser.org -> Hungarisht
is.fmuser.org -> Islandez
id.fmuser.org -> indonezisht
ga.fmuser.org -> Irlandez
it.fmuser.org -> Italisht
ja.fmuser.org -> Japoneze
ko.fmuser.org -> Koreane
lv.fmuser.org -> Letonisht
lt.fmuser.org -> Lituanisht
mk.fmuser.org -> maqedonas
ms.fmuser.org -> Malajzisht
mt.fmuser.org -> Maltese
no.fmuser.org -> Norvegjisht
fa.fmuser.org -> persisht
pl.fmuser.org -> polake
pt.fmuser.org -> Portugeze
ro.fmuser.org -> Rumanisht
ru.fmuser.org -> Rusisht
sr.fmuser.org -> serbisht
sk.fmuser.org -> Sllovake
sl.fmuser.org -> Sllovenisht
es.fmuser.org -> Spanjisht
sw.fmuser.org -> Suahilisht
sv.fmuser.org -> suedisht
th.fmuser.org -> Thai
tr.fmuser.org -> turqisht
uk.fmuser.org -> ukrainas
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Uellsit
yi.fmuser.org -> Yiddish
HLS dhe Http Live Streaming janë protokolle për transmetim në kohë reale të përcaktuara nga Apple. HLS implementohet bazuar në protokollin HTTP. Përmbajtja e transmetimit përfshin dy pjesë, njëra është skedari i përshkrimit M3U8, dhe tjetra është skedari mediatik TS.
1. Skedari M3U8
Skedari mediatik përshkruhet në tekst, i cili përbëhet nga një seri etiketash.
#EXTM3U
# TARGETURA EKST-X: 5
#EXTINF: 5,
./0.ts
#EXTINF: 5,
./1.ts
# EXTM3U: Rreshti i parë i secilës skedar M3U8 duhet të jetë ky etiketë.
# TARGETDURIMI EXT-X: Specifikoni gjatësinë maksimale të segmentit të medias (sekonda). Gjatësia e kohës e specifikuar në #EXTINF duhet të jetë më e vogël ose e barabartë me këtë vlerë maksimale. Kjo vlerë mund të shfaqet vetëm një herë.
#EXTINF: Përshkruani gjatësinë e një skedari të vetëm mediatik. Skedarët mediatikë ndjekin, të tilla si ./0.ts
2. dosja ts
Skedari ts është një skedar i rrymës së transportit, formati kryesor i kodimit të videos është h264 / mpeg4, dhe audio është acc / MP3.
Skedari ts është i ndarë në tre shtresa: Shtresa ts Rryma e Transportit, shtresa pes Rrjedha Elementale e Paketës, rryma Elementare e shtresës. Shtresa es është e dhëna audio dhe video, dhe shtresa pes është informacioni për përshkrimin e kornizës së të dhënave siç është vula kohore e shtuar në të dhënat audio dhe video. Shtresa ts është të shtojë informacionin e nevojshëm për identifikimin dhe transmetimin e rrjedhës së të dhënave në shtresën pes
Shënim: Detajet janë si më poshtë
(1) shtresa ts Madhësia e paketës ts është fiksuar në 188 bajt, dhe shtresa ts është e ndarë në tre pjesë: titulli ts, fusha e adaptimit dhe ngarkesa e ngarkesës. Titulli ts është fiksuar në 4 bajt; fusha e adaptimit mund të ekzistojë ose jo, dhe funksioni i saj kryesor është të plotësojë të dhëna më pak se 188 bajt; ngarkesa e të dhënave është pes.
header ts
sync_byte 8b bajt sinkronizimi, fiksuar në 0x47
transport_error_indicator 1b Treguesi i gabimit të transportit, që tregon se ka një bajt të padobishëm pas fushës së përshtatjes së kokës ts, zakonisht 0, ky bajt llogaritet në gjatësinë e fushës adaptive
payload_unit_start_indicator 1b Treguesi i fillimit të njësisë së ngarkesës, i cili shënohet si 1 në fillim të një pakete të plotë të të dhënave
përparësia e transportit 1b Prioriteti i transportit, 0 është me përparësi të ulët, 1 është me përparësi të lartë, zakonisht 0
vlera pid 13b pid
transport_scrambling_control 2b Kontroll kontrolli scrambling, 00 do të thotë i paskriptuar
adaptation_field_control 2b Nëse duhet të përfshini fushën e adaptimit, '00' është e rezervuar; '01' do të thotë asnjë fushë përshtatjeje, vetëm ngarkesa e ngarkesës; '10' nënkupton vetëm fushën e adaptimit, pa ngarkesë; '11' do të thotë që përshtatja përfshihet gjithashtu Domain dhe ngarkesa.
vazhdimësia_kundër 4b Rritja e njehsorit, nga 0-f, vlera fillestare nuk merr domosdoshmërisht 0, por duhet të jetë e vazhdueshme
Përmbajtja e shtresës ts identifikohet nga vlera PID, dhe përmbajtja kryesore përfshin: tabelën PAT, tryezën PMT, transmetimin audio dhe transmetimin e videos. Për të analizuar rrjedhën ts, duhet së pari të gjeni tabelën PAT, për sa kohë që gjeni PAT, mund të gjeni PMT dhe pastaj mund të gjeni transmetimet audio dhe video. Vlera PID e tabelës PAT është fiksuar në 0. Tabela PAT dhe tabela PMT duhet të futen rregullisht në rrjedhën ts, sepse përdoruesi mund të bashkohet me rrjedhën ts në çdo kohë, ky interval është relativisht i vogël, zakonisht çdo disa korniza video për të shtuar PAT dhe PMT. Tabelat PAT dhe PMT janë të domosdoshme, dhe tabela të tjera të tilla si SDT (tabela e përshkrimit të shërbimit) gjithashtu mund të shtohen, por rryma hls mund të luhet për aq kohë sa ka PAT dhe PMT.
Tabela PAT: Funksioni i tij kryesor është të tregojë vlerën PID të tabelës PMT.
Tabela PMT: Funksioni i tij kryesor është të specifikojë vlerën PID të rrjedhës audio dhe video.
Rryma audio / Rryma video: Mbaj përmbajtje audio dhe video.
përshtatje
adaptation_field_length 1B gjatësia e fushës së adaptimit, numri i bajteve prapa
flamuri 1B merr 0x50 për të treguar PCR ose 0x40 për të mos përfshirë PCR
Referenca e orës së programit PCR 5B, referencë e orës së programit, e përdorur për të rikuperuar orën e kohës së sistemit STC (Sistemi i orës) në përputhje me kodifikuesin.
stuffing_bytes xB bajt mbushje, vlera është 0xff
Gjatësia e zonës së përshtatjes duhet të përfshijë një bajt të identifikuar nga treguesi i gabimit të transmetimit. pcr është referenca e orës së programit, pcr, dts, pts janë të gjitha vlera të mostrave të së njëjtës orë të sistemit, pcr është në rritje, kështu që mund të vendoset si vlerë dts, të dhënat audio nuk kanë nevojë për pcr. Nëse nuk ka fushë, ipad mund të luajë, por vlc nuk mund të luajë. Kur paketoni rrjedhën ts, tabelat PAT dhe PMT nuk kanë një fushë përshtatjeje. Nëse gjatësia nuk është e mjaftueshme, thjesht plotësoni 0xff. Si rryma e videos ashtu edhe rryma audio duhet të shtojnë një fushë adaptimi, e cila zakonisht shtohet në paketën e parë ts dhe në paketën e fundit ts të një kornize, dhe paketa e mesme ts nuk shtohet.
Formati PAT
table_id 8b tabela PAT është fiksuar në 0x00
section_syntax_indicator 1b është fiksuar në 1
zero 1b është fiksuar në 0
rezervuar 2b është fiksuar në 11
seksioni_gjatësia 12b Gjatësia e të dhënave të mëposhtme
transport_stream_id 16b ID e rrymës së transportit, fikse si 0x0001
rezervuar 2b është fiksuar në 11
version_number 5b Numri i versionit, fiksuar në 00000, nëse PAT ndryshon, numri i versionit do të rritet me 1
aktuale_next_indicator 1b është fiksuar në 1, duke treguar që kjo tabelë PAT mund të përdoret, nëse është 0, prisni për tabelën tjetër PAT
seksioni_numri 8b është fiksuar në 0x00
numri i fundit_seksionit 8b është fiksuar në 0x00
Lak i fillimit
programi_numri 16b Kur numri i programit është 0x0000, do të thotë se është NIT, kur numri i programit është 0x0001, do të thotë që është PMT
rezervuar 3b është fiksuar në 111
Vlera PID 13b PID që korrespondon me përmbajtjen e numrit të programit
Lak i fundit
Kodi i kontrollit CRC32 32b CRC32 i të dhënave të mëparshme
Formati PMT
table_id Tabela 8b PMT ka ndonjë vlerë, 0x02
section_syntax_indicator 1b është fiksuar në 1
zero 1b është fiksuar në 0
rezervuar 2b është fiksuar në 11
seksioni_gjatësia 12b Gjatësia e të dhënave të mëposhtme
numri i programit_numëri i kanalit 16b, që do të thotë kanali i lidhur me PMT-në aktuale, vlera është 0x0001
rezervuar 2b është fiksuar në 11
version_number 5b Numri i versionit, fiksuar në 00000, nëse PAT ndryshon, numri i versionit do të rritet me 1
aktuale_next_indicator 1b është fiksuar në 1
seksioni_numri 8b është fiksuar në 0x00
numri i fundit_seksionit 8b është fiksuar në 0x00
rezervuar 3b është fiksuar në 111
PCR_PID 13b PID i paketës TS ku ndodhet PCR (ora referuese e programit), e caktuar si video PID
rezervuar 4b është fiksuar në 1111
program_info_length 12b Informacioni për përshkrimin e programit, i caktuar si 0x000 do të thotë nr
Lak i fillimit
Lloji i rrjedhës 8b Lloji i rrjedhës, shenja është Video ose Audio ose të dhëna të tjera, kodimi h.264 korrespondon me 0x1b, kodimi aac korrespondon me 0x0f, kodimi mp3 korrespondon me 0x03
rezervuar 3b është fiksuar në 111
elementar_PID 13b PID që i përgjigjet tipit të rrjedhës
rezervuar 4b është fiksuar në 1111
ES_info_length 12b Informacioni për përshkrimin, i caktuar si 0x000 do të thotë nr
Lak i fundit
Kodi i kontrollit CRC32 32b CRC32 i të dhënave të mëparshme
(2) shtresa pes
Shtresa pes shton stampë kohe dhe informacione të tjera në secilin kornizë video / audio. Paketa pes përmban shumë përmbajtje dhe ne lëmë vetëm ato më të përdorurat.
kodi i fillimit pes 3B kodi i fillimit, fiksuar në 0x000001
vlera audio e transmetimit id 1B (0xc0-0xdf), zakonisht 0xc0
Vlera e videos (0xe0-0xef), zakonisht 0xe0
gjatësia e paketës pes 2B Gjatësia e të dhënave pes prapa, 0 do të thotë gjatësi e pakufizuar,
Vetëm gjatësia e të dhënave të videos do të kalojë 0xffff
Flamuri 1B zakonisht merr vlerën 0x80, që do të thotë se të dhënat nuk janë të koduara, nuk kanë përparësi dhe rezervohen të dhëna
Vlera e flamurit 1B 0x80 do të thotë vetëm pikë, vlera 0xc0 do të thotë pikë dhe pikë
gjatësia e të dhënave pes 1B Gjatësia e të dhënave të mëposhtme, vlera është 5 ose 10
vlera e pikave 5B 33bit
vlera e dts 5B 33bit
pts është vula kohore e ekranit dhe dts është vula e dekodimit. Të dy vulat kohore kërkohen për të dhënat e videos. PTS dhe DTS të të dhënave audio janë të njëjta, prandaj nevojiten vetëm pts. Ekzistojnë dy vula kohore, pts dhe dts, të cilat shkaktohen nga kornizat B. Pc-të e kornizave I dhe P janë të barabarta me dts. Nëse një video nuk ka korniza B, pikët do të jenë gjithmonë të njëjtat me dts. Lexoni kornizat video në mënyrë të njëpasnjëshme nga skedari, dhe sekuenca e kornizave të nxjerra është e njëjtë me sekuencën dts. Algoritmi dts është relativisht i thjeshtë, vlera fillestare + rritja është e mjaftueshme, llogaritja e pikëve është më e ndërlikuar dhe kompensimi duhet të shtohet në dts.
Ka vetëm pts në pes audio (njësoj si dts), kornizat I dhe P të videos duhet të kenë të dy vulat kohore, dhe korniza e videos B ka nevojë vetëm për pts (njësoj si dts). Për të paketuar pts dhe dts, duhet të dini llojin e kornizës video, por ne nuk mund ta gjykojmë llojin e kornizës përmes formatit të kontejnerit. Ju duhet të analizoni përmbajtjen h.264 për të marrë llojin e kornizës.
për shembull:
IPBBBP
Rendi i leximit: 1 2 3 4 5 6
rendi dts: 1 2 3 4 5 6
renditja e pikëve: 1 5 3 2 4 6
Algoritmi i videos dts sipas kërkesës:
dts = vlera fillestare + 90000 / video_frame_rate, vlera fillestare mund të specifikohet në mënyrë arbitrare, por është mirë që të mos merret 0, video_frame_rate është shpejtësia e kornizës, siç janë 23, 30.
PTS dhe DTS bazohen në shkallën kohore, 1s = 90000 shkallë kohore, një kornizë duhet të jetë 90000 / video_frame_rate kalendarike.
Ndarja e shkallës kohore të një kornize nga frekuenca e kampionimit mund të shndërrohet në kohëzgjatjen e riprodhimit të një kornize
Algoritmi audio dts sipas kërkesës:
dts = vlera fillestare + (90000 * audio_samples_per_frame) / audio_sample_rate, vlera e audio_samples_per_frame është e lidhur me kodekun, vlera e aac është 1024, vlera mp3 është 1158, audio_sample_rate është shkalla e marrjes së mostrës, siç është 24000, 41000. AAC dekodon një kornizë të 1024 mostra për kanal, që do të thotë se kohëzgjatja e një kornize është 1024 / shembull_radhë sekonda. Pra, afati kohor i secilës kornizë është 0, 1024 / mostra_rate, ..., 1024 * n / mostra_radhë sekonda.
DTS dhe pikët e videos drejtpërdrejtë duhet të përdorin drejtpërdrejt kohën në transmetimin e të dhënave të drejtpërdrejta, dhe nuk duhet të llogariten me formula.
(3) shtresa es
Shtresa es i referohet të dhënave audio dhe video, ne vetëm prezantojmë video h.264 dhe audio aac.
video h.264:
Për të paketuar të dhënat h.264, ne duhet të shtojmë një nalu (Njësia e Shtresës së Abstraksionit të Rrjetit) në të dhënat e videos. Nalu përfshin kokën nalu dhe llojin nalu. Titulli nalu fiksohet në 0x00000001 (fillimi i kornizës) ose 0x000001 (në kornizë). Të dhënat e h.264 përbëhen nga feta, dhe përmbajtja e feta përfshin: video, sps, pps, etj. Lloji nalu përcakton përmbajtjen e të dhënave pasuese h.264.
F 1b e ndaluar_zero_bit, h.264 përcakton se duhet të jetë 0
NRI 2b nal_ref_idc, vlera 0 ~ 3, tregon rëndësinë e kësaj vlere, korniza I, sps, pps zakonisht marrin 3, korniza P zakonisht merr 2, dhe korniza B zakonisht merr 0
Lloji 5b referojuni tabelës më poshtë
përshkrimi i tipit nal_unit
0 nuk përdoret
1 Imazh jo-IDR, IDR i referohet kornizës kryesore
Ndarje me 2 feta A
Ndarja 3 fetë B
|
Fut email për të marrë një surprizë
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikanisht
sq.fmuser.org -> shqip
ar.fmuser.org -> arabisht
hy.fmuser.org -> Armenisht
az.fmuser.org -> Azerbajxhanisht
eu.fmuser.org -> Baskisht
be.fmuser.org -> Bjellorusisht
bg.fmuser.org -> Bullgarisht
ca.fmuser.org -> katalanisht
zh-CN.fmuser.org -> Kinezisht (e thjeshtuar)
zh-TW.fmuser.org -> Kinezisht (Tradicionale)
hr.fmuser.org -> Kroate
cs.fmuser.org -> Çekisht
da.fmuser.org -> daneze
nl.fmuser.org -> Hollandisht
et.fmuser.org -> Estonisht
tl.fmuser.org -> Filipinase
fi.fmuser.org -> finlandisht
fr.fmuser.org -> Frëngjisht
gl.fmuser.org -> Galike
ka.fmuser.org -> gjeorgjian
de.fmuser.org -> gjermanisht
el.fmuser.org -> Greqisht
ht.fmuser.org -> Kreolishtja Haitiane
iw.fmuser.org -> Hebraisht
hi.fmuser.org -> Hindisht
hu.fmuser.org -> Hungarisht
is.fmuser.org -> Islandez
id.fmuser.org -> indonezisht
ga.fmuser.org -> Irlandez
it.fmuser.org -> Italisht
ja.fmuser.org -> Japoneze
ko.fmuser.org -> Koreane
lv.fmuser.org -> Letonisht
lt.fmuser.org -> Lituanisht
mk.fmuser.org -> maqedonas
ms.fmuser.org -> Malajzisht
mt.fmuser.org -> Maltese
no.fmuser.org -> Norvegjisht
fa.fmuser.org -> persisht
pl.fmuser.org -> polake
pt.fmuser.org -> Portugeze
ro.fmuser.org -> Rumanisht
ru.fmuser.org -> Rusisht
sr.fmuser.org -> serbisht
sk.fmuser.org -> Sllovake
sl.fmuser.org -> Sllovenisht
es.fmuser.org -> Spanjisht
sw.fmuser.org -> Suahilisht
sv.fmuser.org -> suedisht
th.fmuser.org -> Thai
tr.fmuser.org -> turqisht
uk.fmuser.org -> ukrainas
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Uellsit
yi.fmuser.org -> Yiddish
FMUSER Transferoni pa video dhe audio video dhe audio më lehtë!
Kontakt
Adresa:
Nr.305 Dhoma Ndërtesa HuiLan Nr.273 Huanpu Road Guangzhou Kinë 510620
Kategoritë
Gazete