back

eXport-it FFmpeg

Kisa bibliyotèk FFmpeg la ye?

FFmpeg (https://www.ffmpeg.org/) se yon solisyon konplè, kwa-platfòm pou anrejistre, konvèti ak difize odyo ak videyo. FFmpeg se dirijan miltimedya fondasyon an, ki kapab dekode, kode, transkode, mux, demux, kouran, filtre ak jwe anpil bagay ke moun ak machin te kreye. Li sipòte fòma ansyen ki pi fènwa jiska kwen an koupe. Pa gen pwoblèm si yo te fèt pa kèk komite estanda, kominote a oswa yon sosyete.

Li trè pòtab tou: FFmpeg konpile, kouri, epi pase tès FATE enfrastrikti nou an atravè Linux, Mac OS X, Microsoft Windows, BSD yo, Solaris, elatriye... anba yon gran varyete anviwònman bati, achitekti machin, ak konfigirasyon.

Bibliyotèk FFmpeg la li menm anba Lisans LGPL 2.1. Aktive sèten bibliyotèk ekstèn (tankou libx264) chanje lisans lan pou GPL 2 oswa pita.

Kijan bibliyotèk sa a entegre nan aplikasyon Android

Mwen te itilize script ffmpeg-android-maker (kontribitè: Alexander Berezhnoi Javernaut + codacy-badger Codacy Badger + A2va) pou konpile bibliyotèk yo. Script sa a telechaje kòd sous FFmpeg nan https://www.ffmpeg.org epi bati bibliyotèk la epi rasanble li pou Android. Script la pwodui bibliyotèk pataje (fichye *.so) ansanm ak fichye header (fichye *.h).

Konsantre prensipal ffmpeg-android-maker se prepare bibliyotèk pataje pou entegrasyon san pwoblèm nan yon pwojè Android. Script la prepare anyè `sòti` ki vle di pou itilize. Epi se pa sèlman sa pwojè sa a fè. Kòd sous ffmpeg-android-maker la disponib anba lisans MIT. Gade fichye LICENSE.txt pou plis detay sou https://github.com/Javernaut/ffmpeg-android-maker/ Bibliyotèk eXport-it FFmpeg yo jis konpile ak libaom, libdav1d, liblame, libopus ak libtwolame... men se pa tout bibliyotèk ki asosye yo.

Pou devlope sipò Java pou FFmpeg epi kouri li sou Android 7.1 rive 12, mwen te kòmanse soti nan pwojè MobileFFmpeg dokimante sou https://github.com/tanersener/mobile-ffmpeg/ pa Taner Sener, ki pa konsève ankò. ... epi li gen lisans anba LGPL 3.0 ...

Finalman, mwen te prepare yon pwojè JNI Android Studio ak bibliyotèk yo, mwen mete fichye ak kòd sipò Java, epi mwen jenere yon fichye Bibliyotèk .aar pou m entegre kòm yon bibliyotèk adisyonèl nan pwojè mwen yo ki deja egziste yo.


Ki jan yo kòmanse yon chanèl multicast

Pou kòmanse yon Chèn multicast mande pou itilize yon kliyan, pou jwenn aksè nan yon sèvè UPnP sou rezo lokal ou a (Wi-Fi) ak sipò FFmpeg la. Sèvè sa a ta dwe reponn ak lis fichye li ekspòte yo. Si sèvè sa a gen sipò FFmpeg, yon ti tèks "Kòm yon chanèl" dwe parèt an wouj nan fen liy anlè paj lis la. Lè tèks la se "wouj", klike sou bouton "jwe" la ap travay tankou anvan ou itilize pwotokòl UPnP. Si ou klike sou tèks la, li ta dwe vin "vèt" epi klike sou "jwe" bouton an, apre w fin chwazi dosye videyo oswa odyo, ta dwe kòmanse yon "chanèl".

Fichye medya yo chwazi yo sanble yo jwe menm jan ak UPnP, eksepte reta demaraj la pi long akòz travay adisyonèl. Ou dwe kenbe kliyan sa a jwe fichye medya yo pou kenbe tiyo a aktif.

Sèvi ak tiyo sa a sou lòt aparèy

IP multicast pa travay sou Entènèt, li travay sèlman sou Rezo Lokal, kidonk sitou sou Wi-Fi. Yon chanèl done multicast ka pataje pa anpil kliyan ansanm. W ap voye yon flux done medya sou rezo Wi-Fi ou a epi montre done sa yo sou aparèy ki konekte yo, prèske senkronize, jis diferans nan reta latansi.

Avèk difizyon UPnP oswa HTTP, chak aparèy mande pou Pleasant videyo yo montre a epi Pleasant mondyal la se sòm tou de trafik. Avèk difizyon difizyon, nou voye yon sèl koule done sou LAN ki pataje plizyè kliyan.

Si w itilize yon lòt kliyan sou rezo w apre w fin kòmanse yon chanèl, ou ta dwe wè yon lòt liy sou fenèt prensipal kliyan an. Jis klike sou liy sa a ta dwe kòmanse emisyon an.

Li posib tou pou sèvi ak lòt pwodwi tankou VLC, SMplayer, ... pou montre yon videyo oswa pou koute mizik distribye sou yon chanèl multicast jis lè l sèvi avèk URL "UDP" yo montre sou kliyan eXport-it la.

p>

Pou sispann yon chanèl multicast

Bon fason pou sispann yon Chèn multidifizyon se sispann li sou kliyan ou te kòmanse li a paske se kanal sa a kontwole. Jwe nan fen dosye medya difize ta dwe tou bay nan fen emisyon an.

Konsiderasyon pratik

Pou kòmanse yon chanèl multidiffusion mande pou yon pati espesifik kliyan nan aplikasyon sa a, menm jan ak kliyan eXport-it nan lòt pwodwi ajou mwen yo. Pou itilize yon chanèl multicast kouri ka fè ak kliyan aplikasyon an oswa ak lòt pwodwi tankou VLC, SMPlayer, ... kouri sou lòt platfòm oswa sou android. Lè w ap itilize VLC URL la pou itilize yon chanèl Multicast san pwoblèm diferan tankou udp://@239.255.147.111:27192... jis ak yon siplemantè "@". Avèk yon chanèl UDP Multicast done medya yo voye yon sèl fwa pou yo montre sou plizyè kliyan, men pa gen okenn senkronizasyon reyèl, ak reta a ka segonn depann sou tanpon ak karakteristik aparèy la.

Koute yon chanèl multicast odyo ka fè ak lòt pwodwi men kliyan espesifik la montre imaj yo voye tou sou IP multicast. Si ou vle voye foto espesifik avèk ou mizik, ou ka sèvi ak opsyon meni "Page 2" sou sèvè a, pou w chwazi sèlman imaj ou vle, dezeleksyone tout imaj ak yon sèl klike sou, epi chwazi sa ou vle...

Gen avantaj ak enkonvenyan ak chak pwotokòl. Chanèl UPnP ak Multicast sèlman ka itilize sou rezo lokal (sitou Wi-Fi), HTTP difizyon travay lokalman, men tou sou entènèt epi sèvi ak yon navigatè entènèt kòm kliyan. Chanèl UPnP ak Multicast pa gen okenn fason ki an sekirite pou kontwole aksè, e nenpòt aparèy ki konekte sou rezo Wi-Fi a ka itilize sèvè a kouri. Avèk pwotokòl HTTP a, ou ka defini non itilizatè ak modpas, epi mete dosye nan kategori aksè (gwoup), limite aksè a kèk dosye medya pou itilizatè espesifik. Anviwònman sèvè a pèmèt yo limite ki fichye yo distribye epi mete yon non kategori pou chak fichye si sa nesesè.

back