FFmpeg (https://www.ffmpeg.org/) iyisixazululo esiphelele, esihlanganisa yonke indawo ukuze urekhode, uguqule futhi usakaze umsindo nevidiyo. I-FFmpeg iwuhlaka oluhamba phambili lwe-multimedia, olukwazi ukuhlukanisa, ukufaka ikhodi, i-transcode, i-mux, i-demux, ukusakaza, ukuhlunga nokudlala cishe noma yini edalwe ngabantu nemishini. Isekela amafomethi asendulo angacacile kakhulu kuze kufike onqenqemeni lokusika. Akunandaba ukuthi zakhiwe ikomidi elithile lamazinga, umphakathi noma inhlangano.
Futhi iyaphatheka kakhulu: I-FFmpeg ihlanganisa, iqhube, futhi idlulise ingqalasizinda yethu yokuhlola i-FATE yonkana i-Linux, Mac OS X, Microsoft Windows, BSDs, Solaris, njll... ngaphansi kwezinhlobonhlobo zezindawo zokwakha, izakhiwo zemishini, kanye nezilungiselelo.
Ilabhulali ye-FFmpeg ngokwayo ingaphansi ilayisensi ye-LGPL 2.1. Ukunika amandla imitapo yolwazi ethile yangaphandle (njenge-libx264) kushintsha ilayisensi ibe yi-GPL 2 noma kamuva.
Ngisebenzise iskripthi se-ffmpeg-android-maker (abanikeli: Alexander Berezhnoi Javernaut + codacy-badger Codacy Badger + A2va) ukuze ngihlanganise amalabhulali. Lesi script silanda ikhodi yomthombo ye-FFmpeg kusuka ku-https://www.ffmpeg.org futhi yakhe umtapo wolwazi futhi iyihlanganisele i-Android. Umbhalo ukhiqiza imitapo yolwazi eyabelwe (*.so amafayela) kanye namafayela enhlokweni (*.h amafayela).
Inhloso eyinhloko ye-ffmpeg-android-maker ukulungisa amalabhulali abiwe ukuze ahlanganiswe ngokuphumelelayo kuphrojekthi ye-Android. Iskripthi silungiselela uhla lwemibhalo `lokuphumayo` oluhloselwe ukusetshenziswa. Futhi akuyona kuphela into eyenziwa yile phrojekthi. Ikhodi yomthombo ye-ffmpeg-android-maker iyatholakala ngaphansi kwelayisensi ye-MIT. Bona LICENSE.txt ifayela ukuze uthole imininingwane eyengeziwe ku-https://github.com/Javernaut/ffmpeg-android-maker/ Imitapo yolwazi ye-eXport-it FFmpeg isanda kuhlanganiswa ne-libaom, i-libdav1d, i-liblame, i-libopus kanye ne-libtwolame...kodwa hhayi yonke imitapo yolwazi ehlobene.
Ukuze ngithuthukise ukusekelwa kwe-Java kwe-FFmpeg futhi ngiyisebenzise ku-Android 7.1 kuya ku-12, ngaqala kusukela kuphrojekthi ye-MobileFFmpeg ebhalwe ku-https://github.com/tanersener/mobile-ffmpeg/ ka-Taner Sener, engasanakekelwa ... futhi ilayisensi ngaphansi LGPL 3.0 ...
Ekugcineni, ngilungise iphrojekthi ye-JNI Android Studio enemitapo yolwazi, ehlanganisa amafayela nekhodi yosekelo ye-Java, futhi ngakhiqiza ifayela le-.aar Library ukuze lihlanganiswe njengomtapo wolwazi ongeziwe kumaphrojekthi ami akhona.
Ukuqala Isiteshi sokusakaza okuningi kudinga ukusebenzisa iklayenti, ukufinyelela iseva ye-UPnP kunethiwekhi yangakini (Wi-Fi) ngosekelo lwe-FFmpeg. Lesi siphakeli kufanele siphendule ngohlu lwamafayela esiwathumelayo. Uma le seva inosekelo lwe-FFmpeg, umbhalo omncane othi "Njengesiteshi" kufanele uboniswe ngokubomvu ekugcineni komugqa ophezulu wekhasi lohlu. Uma umbhalo "ubomvu", ukuchofoza inkinobho ethi "dlala" kusebenza njengangaphambili kokusebenzisa umthetho olandelwayo we-UPnP. Uma uchofoza umbhalo, kufanele ube "luhlaza" bese uchofoza inkinobho "dlala", ngemva kokukhetha amafayela evidiyo noma alalelwayo, kufanele kuqale "isiteshi".
Amafayela emidiya akhethiwe adlalwa ngokusobala ngendlela efanayo kunange-UPnP, ngaphandle kokuthi ukubambezeleka kokuqalisa kukude ngenxa yemisebenzi eyengeziwe. Kufanele ugcine leli klayenti lidlala amafayela emidiya ukuze ugcine ipayipi lisebenza.
Ukusakaza okuningi kwe-IP akusebenzi nge-inthanethi, kusebenza kuphela Kunethiwekhi Yendawo Yasendaweni ikakhulukazi ku-Wi-Fi. Isiteshi sedatha yokusakaza okuningi singabiwa amaklayenti amaningi ngesikhathi esisodwa. Uthumela ukugeleza kwedatha yemidiya kunethiwekhi yakho ye-Wi-Fi futhi ubonise le datha kumadivayisi axhunyiwe, cishe ngokuhambisanayo, umehluko nje wokubambezeleka kokubambezeleka.
Ngokusakaza kwe-UPnP noma kwe-HTTP, idivayisi ngayinye idinga umkhawulokudonsa wevidiyo ebonisiwe kanye nomkhawulokudonsa womhlaba uyisamba sakho kokubili ithrafikhi. Ngokusakaza-bukhoma okuningi, sithumela ukugeleza kwedatha okukodwa ku-LAN okwabelwa amaklayenti amaningi.
Uma usebenzisa elinye iklayenti kunethiwekhi yakho ngemva kokuqala isiteshi, kufanele ubone umugqa owengeziwe efasiteleni eliyinhloko leklayenti. Ukuchofoza nje kulo mugqa kufanele kuqale umbukiso.
Kuyenzeka futhi ukusebenzisa eminye imikhiqizo efana ne-VLC, i-SMplayer, ... ukuze ubonise ividiyo noma ulalele umculo osakazwe ngesiteshi sokusakaza okuningi usebenzisa i-URL ye-"UDP" eboniswa kuklayenti le-eXport-it. p>
Indlela enhle yokumisa Isiteshi sokusakaza okuningi ukusimisa ekhasimendeni osiqale ngalo ngoba lesi siteshi silawulwa lapho. Ukudlala kuze kube sekugcineni kwamafayela emidiya asakazwayo nakho kufanele kunikeze isiphetho sombukiso.
Ukuqala isiteshi sokusakaza okuningi kudinga ingxenye yeklayenti ethile yalolu hlelo lokusebenza, ngokufanayo neklayenti le-eXport-it leminye imikhiqizo yami yakamuva. Ukusebenzisa isiteshi sokusakaza okuningi esisebenzayo kungenziwa ngeklayenti lohlelo lokusebenza noma neminye imikhiqizo efana ne-VLC, i-SMPlayer, ... esebenza kwezinye izinkundla noma ku-Android. Uma usebenzisa i-VLC i-URL yokusebenzisa isiteshi se-Multicast ihluke ngokushelelayo njengokuthi udp://@239.255.147.111:27192... njengendawo eyengeziwe ethi "@". Ngesiteshi se-UDP Multicast idatha yemidiya ithunyelwa kanye kuphela ukuze iboniswe kumakhasimende amaningi, kodwa akukho ukuvumelanisa kwangempela, futhi ukubambezeleka kungaba amasekhondi kuye ngokubhafa nezici zedivayisi.
Ukulalela isiteshi sokusakaza okuningi somsindo kungenziwa neminye imikhiqizo kodwa iklayenti elithile libonisa izithombe ezithunyelwe nge-IP multicast. Uma ufuna ukuthumela izithombe ezithile ngomculo wakho, ungasebenzisa inketho yemenyu ethi "Ikhasi 2" kuseva, ukuze ukhethe kuphela izithombe ozifunayo, ungakhethi zonke izithombe ngokuchofoza okukodwa, bese ukhetha lezi ozifunayo... p>
Kukhona okuhle nokungalungile ngephrothokholi ngayinye. Isiteshi se-UPnP ne-Multicast singasetshenziswa kuphela kunethiwekhi yendawo (ikakhulukazi i-Wi-Fi), ukusakazwa kwe-HTTP kusebenza endaweni kodwa nange-inthanethi futhi kusebenzisa isiphequluli Sewebhu njengeklayenti. Isiteshi se-UPnP ne-Multicast azinayo indlela evikelekile yokulawula ukufinyelela, futhi noma iyiphi idivayisi exhunywe kunethiwekhi ye-Wi-Fi ingasebenzisa iseva esebenzayo. Ngomthetho olandelwayo we-HTTP, ungachaza amagama abasebenzisi namagama ayimfihlo, futhi usethe amafayela ezigabeni zokufinyelela (amaqembu), unciphise ukufinyelela kwamanye amafayela emidiya kubasebenzisi abathile. Izilungiselelo zeseva zivumela ukukhawulela ukuthi imaphi amafayela asakazwayo kanye nokusetha igama lesigaba ngefayela ngalinye uma kudingeka.