FMUSER Wirless Transmit Video and Audio Errazago!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaansa
sq.fmuser.org -> Albaniera
ar.fmuser.org -> arabiera
hy.fmuser.org -> Armenian
az.fmuser.org -> azerbaijanera
eu.fmuser.org -> euskara
be.fmuser.org -> Bielorrusiera
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> Katalana
zh-CN.fmuser.org -> Txinera (sinplifikatua)
zh-TW.fmuser.org -> Chinese (Traditional)
hr.fmuser.org -> kroaziera
cs.fmuser.org -> Txekiera
da.fmuser.org -> Danimarkarra
nl.fmuser.org -> Holandako
et.fmuser.org -> Estoniera
tl.fmuser.org -> Filipinoa
fi.fmuser.org -> finlandiera
fr.fmuser.org -> Frantsesa
gl.fmuser.org -> Galiziera
ka.fmuser.org -> Georgiarra
de.fmuser.org -> alemana
el.fmuser.org -> Greek
ht.fmuser.org -> Haitiko kreolera
iw.fmuser.org -> Hebreera
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> Islandiera
id.fmuser.org -> Indonesiera
ga.fmuser.org -> Irlandera
it.fmuser.org -> Italian
ja.fmuser.org -> Japoniera
ko.fmuser.org -> Koreera
lv.fmuser.org -> Letoniera
lt.fmuser.org -> Lithuanian
mk.fmuser.org -> mazedoniera
ms.fmuser.org -> malaysiera
mt.fmuser.org -> maltera
no.fmuser.org -> Norwegian
fa.fmuser.org -> persiera
pl.fmuser.org -> poloniera
pt.fmuser.org -> Portugesa
ro.fmuser.org -> Romanian
ru.fmuser.org -> errusiera
sr.fmuser.org -> serbiera
sk.fmuser.org -> Eslovakiera
sl.fmuser.org -> Slovenian
es.fmuser.org -> Gaztelania
sw.fmuser.org -> Swahilia
sv.fmuser.org -> Suediera
th.fmuser.org -> Thai
tr.fmuser.org -> Turkiera
uk.fmuser.org -> ukrainera
ur.fmuser.org -> urdua
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> galesera
yi.fmuser.org -> Yiddish
HLS eta Http Live Streaming Applek definitutako denbora errealean erreproduzitzeko protokoloak dira. HLS HTTP protokoloan oinarrituta ezartzen da. Transmisioaren edukiak bi zati ditu, bata M3U8 deskribapen fitxategia da eta bestea TS multimedia fitxategia.
1. M3U8 fitxategia
Multimedia fitxategia testuan deskribatzen da, etiketa batzuez osatua.
#EXTM3U
# EXT-X-HELBURUA: 5
#EXTINF: 5,
./0.ts
#EXTINF: 5,
./1.ts
# EXTM3U: M3U8 fitxategi bakoitzaren lehen lerroak etiketa hau izan behar du.
# EXT-X-TARGETDURATION: Zehaztu euskarri segmentuaren gehieneko denbora luzera (segundotan). #EXTINF atalean zehaztutako denborak gehieneko balio hori baino txikiagoa edo berdina izan behar du. Balio hau behin bakarrik ager daiteke.
#EXTINF: Deskribatu multimedia fitxategi bakar baten luzera. Multimedia fitxategiak jarraitzen dituzte, hala nola ./0.ts
2. ts fitxategia
Ts fitxategia garraio korronte fitxategia da, bideo kodeketa formatu nagusia h264 / mpeg4 da eta audioa acc / MP3 da.
Ts fitxategia hiru geruzatan banatzen da: ts geruza Transport Stream, pes layer Packet Elemental Stream, es layer Elementary Stream. Es geruza audio eta bideo datuak dira, eta pes geruza datu fotogramen deskribapen informazioa da, hala nola audio eta bideo datuei gehitutako denbora marka. Ts geruzak datu geruza pes geruzan identifikatzeko eta transmititzeko beharrezko informazioa gehitzeko da
Oharra: xehetasunak honako hauek dira
(1) ts geruza Ts paketeen tamaina 188 bytetan finkatuta dago, eta ts geruza hiru zatitan banatzen da: ts goiburua, egokitzapen eremua eta karga erabilgarria. Ts goiburua 4 byteko finkatuta dago; egokitzapen-eremua egon daiteke edo ez, eta bere funtzio nagusia 188 byte baino gutxiagoko datuak betetzea da; karga pes datuak da.
ts goiburua
sync_byte 8b sinkronizazio byte, 0x47-tan finkatuta
transport_error_indicator 1b Garraio erroreen adierazlea, ts goiburuko egokitzapen eremuaren ondoren alferrikako byte bat dagoela adierazten duena, normalean 0, byte hau egokitzapen eremuko luzeran zenbatzen da.
payload_unit_start_indicator 1b Karga unitatearen hasierako adierazlea, 1 gisa markatuta dago datu pakete oso baten hasieran
transport_priority 1b Garraioaren lehentasuna, 0 lehentasun txikia da, 1 lehentasun handia da, normalean 0
pid 13b pid balioa
transport_scrambling_control 2b Garraioaren scrambling kontrolak, 00 zifratu gabe esan nahi du
adaptation_field_control 2b Egokitzapen eremua sartu behar den ala ez, '00' gordeta dago; '01' ez da egokitzapen eremurik esan nahi, karga erabilgarria soilik; '10' egokitzapen-eremua bakarrik esan nahi du, kargarik gabe; '11' esan nahi du egokitzapena barne dagoela Domeinua eta karga.
continuity_counter 4b Kontagailu handitzailea, 0-f-tik aurrera, hasierako balioak ez du zertan 0 hartu, baina jarraia izan behar du
Ts geruzaren edukia PID balioarekin identifikatzen da, eta eduki nagusiak honako hauek biltzen ditu: PAT taula, PMT taula, audio korrontea eta bideo korrontea. Ts korrontea aztertzeko, lehenik eta behin PAT taula aurkitu behar duzu, betiere PAT aurkitzen baduzu, PMT aurkituko duzu eta, ondoren, audio eta bideo korronteak aurkituko dituzu. PAT taulako PID balioa 0koa da. PAT taula eta PMT taula ts korrontean sartu behar dira aldizka, erabiltzaileak edozein unetan ts korrontean sar baitaiteke, tarte hori nahiko txikia izaten da, normalean gutxi batzuetan bideo markoak PAT eta PMT gehitzeko. PAT eta PMT taulak beharrezkoak dira, eta SDT (zerbitzuaren deskribapen taula) bezalako beste taulak ere gehi daitezke, baina hls korrontea erreproduzitu daiteke PAT eta PMT dauden bitartean.
PAT taula: bere funtzio nagusia PMT taulako PID balioa adieraztea da.
PMT taula: bere funtzio nagusia audio eta bideo korrontearen PID balioa zehaztea da.
Audio korrontea / bideo korrontea: audio eta bideo edukia eramatea.
egokitzapena
adaptation_field_length 1B egokitzapen-eremuaren luzera, atzean dagoen byte kopurua
1B banderak 0x50 hartzen du PCR adierazteko edo 0x40 PCR ez sartzeko
PCR 5B Program Clock Reference, programaren erlojuaren erreferentzia, kodetzailearekin bat datorren STC (System Time Clock) sistemaren denbora-erlojua berreskuratzeko erabiltzen da.
stuffing_bytes xB stuffing bytes, balioa 0xff da
Egokitzapenaren azaleraren luzerak transmisioaren errore adierazleak identifikatutako byte bat izango du. pcr programaren erlojuaren erreferentzia da, pcr, dts, pts sistema erloju bereko laginak dira, pcr inkrementala da, beraz, dts balio gisa ezar daiteke, audio datuek ez dute pcr behar. Eremurik ez badago, iPadek joka dezake, baina vlc-k ezin du jolastu. Ts korrontea paketatzerakoan, PAT eta PMT taulek ez dute egokitzapen eremurik. Luzera nahikoa ez bada, 0xff bete besterik ez duzu. Bideo-korronteak zein audio-korronteak egokitzapen-eremua gehitu behar dute, normalean fotograma bateko lehen ts paketean eta azken ts paketean gehitzen dena eta erdi ts paketea ez da gehitzen.
PAT formatua
table_id 8b PAT taula 0x00-ra finkatuta dago
section_syntax_indicator 1b 1-en finkatuta dago
zero 1b 0-tan finkatuta dago
2b gordea 11ra finkatuta dago
section_length 12b Ondorengo datuen luzera
transport_stream_id 16b Garraio korrontearen IDa, 0x0001 gisa finkatua
2b gordea 11ra finkatuta dago
version_number 5b Bertsio zenbakia, 00000-tan finkatuta, PAT aldatzen bada, bertsio zenbakia 1 handituko da
current_next_indicator 1b 1-era finkatuta dago, PAT taula hau erabil daitekeela adieraziz. 0 bada, itxaron hurrengo PAT taula
8b atala_zenbakia 0x00-ra finkatuta dago
8b azken_zaila_zenbakia 0x00-ra finkatuta dago
Hasi begizta
program_number 16b Programaren zenbakia 0x0000 denean, hau NIT dela esan nahi du, programaren zenbakia 0x0001 denean, hau PMT da.
3b gordea 111ra finkatuta dago
PID 13b Programaren zenbakiaren edukiari dagokion PID balioa
Amaiera begizta
CRC32 32b CRC32 aurreko datuen egiaztapen kodea
PMT formatua
table_id 8b PMT taulak edozein balio du, 0x02
section_syntax_indicator 1b 1-en finkatuta dago
zero 1b 0-tan finkatuta dago
2b gordea 11ra finkatuta dago
section_length 12b Ondorengo datuen luzera
program_number 16b kanalaren zenbakia, hau da, uneko PMTarekin lotutako kanala, balioa 0x0001 da
2b gordea 11ra finkatuta dago
version_number 5b Bertsio zenbakia, 00000-tan finkatuta, PAT aldatzen bada, bertsio zenbakia 1 handituko da
current_next_indicator 1b 1-en finkatuta dago
8b atala_zenbakia 0x00-ra finkatuta dago
8b azken_zaila_zenbakia 0x00-ra finkatuta dago
3b gordea 111ra finkatuta dago
PCR_PID 13b PCR (programaren erreferentziazko erlojua) dagoen TS paketearen PID, bideo PID gisa izendatua
4b gordea 1111ra finkatuta dago
program_info_length 12b Programaren deskribapen informazioa, 0x000 gisa izendatuta ez dago
Hasi begizta
stream_type 8b Stream mota, marka Bideoa edo audioa edo bestelako datuak dira, h.264 kodeketa 0x1b dagokio, aac kodeketa 0x0f dagokio, mp3 kodeketa 0x03 dagokio
3b gordea 111ra finkatuta dago
elemental_PID 13b korronte_ motari dagokion PID
4b gordea 1111ra finkatuta dago
ES_info_length 12b Deskribapen informazioa, 0x000 gisa izendatuta ez dago
Amaiera begizta
CRC32 32b CRC32 aurreko datuen egiaztapen kodea
(2) pez geruza
Pes geruzak denbora zigilua eta bestelako informazioa gehitzen dizkio bideo / audio marko bakoitzari. Pes paketeak eduki asko dauka, eta gehien erabiltzen ditugunak bakarrik uzten ditugu.
pes hasierako kodea 3B hasierako kodea, 0x000001 finkatuta
korrontearen ID 1B audio balioa (0xc0-0xdf), normalean 0xc0
Bideoaren balioa (0xe0-0xef), normalean 0xe0
pes paketearen luzera 2B Atzean dauden pes datuen luzerak, 0 luzera mugagabea esan nahi du,
Bideoaren datuen luzerak soilik gaindituko du 0xffff
1B banderak 0x80 balioa hartzen du normalean, hau da, datuak ez daude enkriptatuta, ez du lehentasunik eta datuen babeskopia egiten da.
1B banderak 0x80 balioa pts bakarrik esan nahi du, 0xc0 balioa pts eta dts esan nahi du
pes datuen luzera 1B Hurrengo datuen luzera, balioa 5 edo 10 da
pt 5B 33bit balioa
dts 5B 33bit balioa
pts bistaratzeko denbora marka da eta dts deskodetze denbora marka da. Bi denbora markak beharrezkoak dira bideo datuetarako. Audio datuen ptak eta dtak berdinak dira, beraz ptak bakarrik behar dira. Bi denbora marka, pts eta dts daude, B fotogramek eragindakoak. I eta P fotogramen ptak dts berdinak dira. Bideo batek B fotogramarik ez badu, ptak beti dts bezalakoak izango dira. Irakurri bideo fotogramak sekuentzialki fitxategitik eta ateratako fotogramen sekuentzia dts sekuentziaren berdina da. Dts algoritmoa nahiko erraza da, hasierako balioa + gehikuntza nahikoa da, pt kalkulua korapilatsuagoa da eta desplazamendua dtsari gehitu behar zaio.
Audio-pezetan pt-ak bakarrik daude (dts-en berdinak), bideoaren I eta P fotogramek denbora markak izan behar dituzte eta bideoaren B fotogramak pts-ak (dts-ak bezala) bakarrik behar ditu. Pts eta dts paketatzeko, bideo fotograma mota ezagutu behar duzu, baina ezin dugu fotograma mota edukiontzi formatuaren bidez epaitu. H.264 edukia aztertu behar duzu marko mota lortzeko.
adibidez:
IPBBBP
Irakurketa ordena: 1 2 3 4 5 6
dts ordena: 1 2 3 4 5 6
pt ordena: 1 5 3 2 4 6
Eskatutako bideo dts algoritmoa:
dts = hasierako balioa + 90000 / video_frame_rate, hasierako balioa arbitrarioki zehaztu daiteke, baina hobe da 0 ez hartzea, video_frame_rate da fotograma-tasa, hala nola 23, 30.
pts eta dts denbora-eskalan oinarritzen dira, 1s = 90000 denbora-eskala, fotograma batek 90000 / video_frame_rate denbora-eskala izan behar du.
Fotograma baten denbora eskala laginketa maiztasunarekin zatitzea fotograma baten erreprodukzio iraupenera bihur daiteke
Eskatutako audio dts algoritmoa:
dts = hasierako balioa + (90000 * audio_samples_per_frame) / audio_sample_rate, audio_samples_per_frame balioa codec-arekin erlazionatuta dago, aac balioa 1024 da, mp3 balioa 1158 da, audio_sample_rate laginketa tasa da, hala nola 24000, 41000. AAC-k fotograma bat deskodetzen du 1024 lagin kanal bakoitzeko, hau da, fotograma baten iraupena 1024 / sample_rate segundo da. Beraz, fotograma bakoitzaren denbora-marka 0, 1024 / sample_rate, ..., 1024 * n / sample_rate seconds da.
Zuzeneko bideoaren ptak eta ptak zuzenean erabili behar dute denbora zuzeneko datuen korrontean, eta ez dira formulen bidez kalkulatu behar.
(3) es geruza
Es geruzak audio eta bideo datuak aipatzen ditu, h.264 bideoa eta audio audio bakarra aurkezten ditugu.
h.264 bideoa:
H.264 datuak biltzeko, nalu bat gehitu behar diegu (Network Abstraction Layer unit) bideoari. Naluak nalu goiburua eta nalu mota biltzen ditu. Nalu goiburua 0x00000001 (fotogramaren hasiera) edo 0x000001 (fotograman) finkatuta dago. H.264-ren datuak zatiz osatuta daude, eta zatien edukiak honakoak dira: bideoa, sps, pps, etab. Nalu motak ondorengo h.264 datuen edukia zehazten du.
F 1b forbidden_zero_bit, h.264-k 0 izan behar duela zehazten du
NRI 2b nal_ref_idc, 0 ~ 3 balioa, nalu honen garrantzia adierazten du, I frame, sps, pps normalean 3 hartzen dute, P frame normalean 2 hartzen du eta B frame normalean 0 hartzen du
5b mota beheko taulara joango da
nal_unit_type deskribapena
0 ez da erabiltzen
1 IDR ez den irudia, IDR gako markoa da
2 xerra A partizioa
3 zatizko B partizioa
|
Sartu posta elektronikoa sorpresa bat izateko
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaansa
sq.fmuser.org -> Albaniera
ar.fmuser.org -> arabiera
hy.fmuser.org -> Armenian
az.fmuser.org -> azerbaijanera
eu.fmuser.org -> euskara
be.fmuser.org -> Bielorrusiera
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> Katalana
zh-CN.fmuser.org -> Txinera (sinplifikatua)
zh-TW.fmuser.org -> Chinese (Traditional)
hr.fmuser.org -> kroaziera
cs.fmuser.org -> Txekiera
da.fmuser.org -> Danimarkarra
nl.fmuser.org -> Holandako
et.fmuser.org -> Estoniera
tl.fmuser.org -> Filipinoa
fi.fmuser.org -> finlandiera
fr.fmuser.org -> Frantsesa
gl.fmuser.org -> Galiziera
ka.fmuser.org -> Georgiarra
de.fmuser.org -> alemana
el.fmuser.org -> Greek
ht.fmuser.org -> Haitiko kreolera
iw.fmuser.org -> Hebreera
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> Islandiera
id.fmuser.org -> Indonesiera
ga.fmuser.org -> Irlandera
it.fmuser.org -> Italian
ja.fmuser.org -> Japoniera
ko.fmuser.org -> Koreera
lv.fmuser.org -> Letoniera
lt.fmuser.org -> Lithuanian
mk.fmuser.org -> mazedoniera
ms.fmuser.org -> malaysiera
mt.fmuser.org -> maltera
no.fmuser.org -> Norwegian
fa.fmuser.org -> persiera
pl.fmuser.org -> poloniera
pt.fmuser.org -> Portugesa
ro.fmuser.org -> Romanian
ru.fmuser.org -> errusiera
sr.fmuser.org -> serbiera
sk.fmuser.org -> Eslovakiera
sl.fmuser.org -> Slovenian
es.fmuser.org -> Gaztelania
sw.fmuser.org -> Swahilia
sv.fmuser.org -> Suediera
th.fmuser.org -> Thai
tr.fmuser.org -> Turkiera
uk.fmuser.org -> ukrainera
ur.fmuser.org -> urdua
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> galesera
yi.fmuser.org -> Yiddish
FMUSER Wirless Transmit Video and Audio Errazago!
Harremanetarako
Helbidea:
305. zenbakia Gela HuiLan eraikina No.273 Huanpu Road Guangzhou Txina 510620
Kategoriak
Buletina