FMUSER Wirless edastab videot ja heli lihtsamalt!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> albaania keel
ar.fmuser.org -> araabia
hy.fmuser.org -> Armeenia
az.fmuser.org -> aserbaidžaanlane
eu.fmuser.org -> baski keel
be.fmuser.org -> valgevenelane
bg.fmuser.org -> Bulgaaria
ca.fmuser.org -> katalaani keel
zh-CN.fmuser.org -> hiina (lihtsustatud)
zh-TW.fmuser.org -> Hiina (traditsiooniline)
hr.fmuser.org -> horvaadi keel
cs.fmuser.org -> tšehhi
da.fmuser.org -> taani keel
nl.fmuser.org -> Hollandi
et.fmuser.org -> eesti keel
tl.fmuser.org -> filipiinlane
fi.fmuser.org -> soome keel
fr.fmuser.org -> Prantsusmaa
gl.fmuser.org -> galicia keel
ka.fmuser.org -> gruusia keel
de.fmuser.org -> saksa keel
el.fmuser.org -> Kreeka
ht.fmuser.org -> Haiti kreool
iw.fmuser.org -> heebrea
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungari
is.fmuser.org -> islandi keel
id.fmuser.org -> indoneesia keel
ga.fmuser.org -> iiri keel
it.fmuser.org -> Itaalia
ja.fmuser.org -> jaapani keel
ko.fmuser.org -> korea
lv.fmuser.org -> läti keel
lt.fmuser.org -> Leedu
mk.fmuser.org -> makedoonia
ms.fmuser.org -> malai
mt.fmuser.org -> malta keel
no.fmuser.org -> Norra
fa.fmuser.org -> pärsia keel
pl.fmuser.org -> poola keel
pt.fmuser.org -> portugali keel
ro.fmuser.org -> Rumeenia
ru.fmuser.org -> vene keel
sr.fmuser.org -> serbia
sk.fmuser.org -> slovaki keel
sl.fmuser.org -> Sloveenia
es.fmuser.org -> hispaania keel
sw.fmuser.org -> suahiili keel
sv.fmuser.org -> rootsi keel
th.fmuser.org -> Tai
tr.fmuser.org -> türgi keel
uk.fmuser.org -> ukrainlane
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnam
cy.fmuser.org -> kõmri keel
yi.fmuser.org -> Jidiši
Hiljuti tegi kodeerimise ja dekodeerimise funktsiooni kasutamiseks Androidi projekti. Üldised nõuded on järgmised: võtke kaamera kaudu video, seejärel eraldage kaadrid, genereerige lühike video ja pöörake video tagasi. Alguses kasutab see otse H.264 kodeerimisvormingut, ilma MP4 konteineripakendeid kasutamata. Pärast nende funktsioonide tegemist tunnen, et MP4-vorming ühildub paremini kõigi mudelitega ja vähendab vigu. Võtke ilmne näide: kui Android on karmilt kodeeritud, kasutatakse sageli mediacodeci ja mediaextractori kombinatsiooni. Kui aga kasutate alasti videofaili H.264, teatab mediaextractori setsource funktsioon erandist. Mõnel mudelil ei saa videofaili sõeluda (nt Meizu Note2, süsteem on 5.1).
Pärast üldiste nõuete saamist kasutasime videokoodeki, nn tarkvarakoodeki, tegemiseks algul ffmpegi. Aeglase töötlemiskiiruse ja kiire dekodeerimise vajaduse tõttu pärast dekodeerimist ei saa skeem soovitud efekti saavutada (ffmpeg-video dekodeerimine ja salvestatud JPEG-näites: https://github.com/xiaoxiaoqingyi/ffmpeg-android-video-decoder )。 Kuid sellel on ka mõned eelised, nagu hea ühilduvus ja värvide teisendamine. Lõppude lõpuks pole see riistvarakoodek (Hiinas on nii palju mudeleid, teate). Teiseks võib ffmpeg väljastada määratud kaadrit, samas kui mediacodec ei saa määratud kaadrit väljastada. Ühe kaadri dekodeerimiseks peate dekooderisse sisestama mitu kaadrit. Praegu pole ma ikka veel leidnud raami sisestamiseks ja kaadri lahendamiseks skeemi, mida jumal teab juhtida.
Kui tarkvarakoodek ei sobi, võime kaaluda ainult riistvarakoodeki kasutamist. Mõni päev tagasi osalesin Tencent 2017live otse arendajate konverentsil ja sain teada, et enamus otseülekannetest kasutab nüüd kodeerimiseks ja dekodeerimiseks riistvara. Lihtsalt öeldes ei saa mõned mudelid H.264-failide sõelumiseks kasutada mediaextractorit. Enamiku mudelitega ühildumiseks peavad nad neid ise sõeluma. H.264-faili iga baidi analüüsimisel saavad nad eristada iga kaadri asukohta ja mis tüüpi kaadrit see on. Selle nõude täitmiseks määratakse kaamera kasutamisel kõigepealt kaamerast saadud andmed nv21-vormingusse, kuid mõned inimesed kasutavad kaamerat2 ja vorminguks on pilt. Olenemata sellest, millises vormingus see on, tuleb see teisendada yuv420sp või yuv420p (märkus: ümberkodeerimisel on parem kasutada JNI-d, vormingu teisendamiseks kasutage C / C + +, efektiivsus on mitu korda suurem), nii et seda saab kodeerida mediacodec ja seejärel salvestada fail H.264. Mediacodeci eksemplari loomisel peaksite lisaks vajalike parameetrite seadmisele pöörama tähelepanu ka mõnele aspektile, näiteks milline kodeerija valida. Üldiselt valite järgmise:
MediaCodec.createEncoderByType ("video / avc");
Tundub, et see pole probleem. Põhiprintsiip on hankida parim kooder, esimene Android-süsteemi kooderite registris, milleks on tavaliselt riistvara dekodeerimine (mediacodec võib helistada ka tarkvarakoodekile). Tegelikult pole kooderi sel viisil loomine eriti usaldusväärne. Ehkki ametlik veebisait seda ka soovitab, on paljudes kodumaistes androidmudelites mõnel mobiiltelefonil probleeme, mõnel koodil on sinine ekraan ja mõnel vilgub otse tagasi. On võõras näide, mis tähendab umbes "video / AVC" tüüpi kooderi hankimist ja seejärel proovimist ükshaaval proovimise abil. Kui probleemi pole, valige see kooder. Lähtekood: mediacodec_ rtsp_ h264
Teine probleem on see, et kui I-kaadri intervall on määratud, ei tööta mõned mobiiltelefonid. Seaded on järgmised:
mediaFormat.setInteger (MediaFormat.KEY_ I_ FRAME_ INTERVAL, intervall);
Seda olukorda silmas pidades peame I raami seadmiseks kasutama teist viisi, mis on kohustuslik:
Kogumi parameetrid = uus kimp ();
params.putInt (MediaCodec.PARAMETER_ KEY_ REQUEST_ SYNKRIMI_RAAM, 0);
mMediaCodec.setParameters (parameetrid);
Kui kõik andmed on koodekisse sisestatud, pidage kodeerimisel ja dekodeerimisel sisestama lõpumärk, siis väljastab koodek kõik kaadrid.
Samuti on kaadri ekstraheerimise probleem. Kui kaadrite ekstraktimiseks kasutatakse mediacodecit, luuakse uus video. Kas ma saan raami lihtsalt failist H.264 eemaldada? See ei tööta niimoodi. Tavaliselt on seal pritsmekraan. See peab H.264-faili uuesti dekooderisse sisestama, seejärel hankima soovitud kaadri ja sisestama selle uude kooderisse, et genereerida soovitud H.264-fail. Siin on ka formaadiprobleem. Asi pole selles, et dekooderilt dekodeeritud andmeid saab kodeerija otse kodeerida. Mõni mobiiltelefon saab ja mõni on sinise ekraaniga või isegi tagasi vilgub. Sellisel juhul peame dekooderi vormingu ühtlustama. Kui kasutate selle vormi saamiseks järgmist:
mMediaCodec.getOutputBuffer ()
Seal on igasuguseid formaate ja teil on raske ühilduda. Google on välja lasknud uue vormingu:
mMediaCodec.getOutputImage (outIndex)
Tulemuseks on pildiobjekt, mille saab salvestada JPEG-pildina või teisendada nv21-ks, nagu ülaltoodud pildistamisosa, teisendada YUV422-vormingusse ja seejärel sisestada kodeerijale. Nii et ükskõik, milline mudel ühilduda võib (proovin üle 10 erineva mobiiltelefonide tootja), kuigi palju ümbersõite.
|
Üllatuse saamiseks sisestage e-posti aadress
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> albaania keel
ar.fmuser.org -> araabia
hy.fmuser.org -> Armeenia
az.fmuser.org -> aserbaidžaanlane
eu.fmuser.org -> baski keel
be.fmuser.org -> valgevenelane
bg.fmuser.org -> Bulgaaria
ca.fmuser.org -> katalaani keel
zh-CN.fmuser.org -> hiina (lihtsustatud)
zh-TW.fmuser.org -> Hiina (traditsiooniline)
hr.fmuser.org -> horvaadi keel
cs.fmuser.org -> tšehhi
da.fmuser.org -> taani keel
nl.fmuser.org -> Hollandi
et.fmuser.org -> eesti keel
tl.fmuser.org -> filipiinlane
fi.fmuser.org -> soome keel
fr.fmuser.org -> Prantsusmaa
gl.fmuser.org -> galicia keel
ka.fmuser.org -> gruusia keel
de.fmuser.org -> saksa keel
el.fmuser.org -> Kreeka
ht.fmuser.org -> Haiti kreool
iw.fmuser.org -> heebrea
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungari
is.fmuser.org -> islandi keel
id.fmuser.org -> indoneesia keel
ga.fmuser.org -> iiri keel
it.fmuser.org -> Itaalia
ja.fmuser.org -> jaapani keel
ko.fmuser.org -> korea
lv.fmuser.org -> läti keel
lt.fmuser.org -> Leedu
mk.fmuser.org -> makedoonia
ms.fmuser.org -> malai
mt.fmuser.org -> malta keel
no.fmuser.org -> Norra
fa.fmuser.org -> pärsia keel
pl.fmuser.org -> poola keel
pt.fmuser.org -> portugali keel
ro.fmuser.org -> Rumeenia
ru.fmuser.org -> vene keel
sr.fmuser.org -> serbia
sk.fmuser.org -> slovaki keel
sl.fmuser.org -> Sloveenia
es.fmuser.org -> hispaania keel
sw.fmuser.org -> suahiili keel
sv.fmuser.org -> rootsi keel
th.fmuser.org -> Tai
tr.fmuser.org -> türgi keel
uk.fmuser.org -> ukrainlane
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnam
cy.fmuser.org -> kõmri keel
yi.fmuser.org -> Jidiši
FMUSER Wirless edastab videot ja heli lihtsamalt!
Saada sõnum
Aadress:
Nr 305 tuba HuiLan Building No.273 Huanpu Road Guangzhou, Hiina 510620
Kategooriad
Uudiskiri