ʻO FFmpeg (https://www.ffmpeg.org/) kahi hoʻonā piha, cross-platform e hoʻopaʻa, hoʻololi a hoʻoheheʻe i ka leo a me ka wikiō. ʻO FFmpeg ka papa hana multimedia alakaʻi, hiki ke hoʻokaʻawale, hoʻopili, transcode, mux, demux, kahawai, kānana a pāʻani i nā mea āpau a nā kānaka a me nā mīkini i hana ai. Kākoʻo ʻo ia i nā ʻano kahiko pohihihi loa a hiki i ka ʻoki ʻoki. ʻAʻole pili inā i hoʻolālā ʻia e kekahi komite maʻamau, ke kaiāulu a i ʻole ka hui.
He mea lawe lima nui nō hoʻi: FFmpeg hōʻuluʻulu, holo, a hāʻawi i kā mākou ʻōnaehana hoʻāʻo FATE ma waena o Linux, Mac OS X, Microsoft Windows, nā BSD, Solaris, etc. a me nā hoʻonohonoho.
Aia ka waihona FFmpeg pono'ī ma lalo o laikini LGPL 2.1. ʻO ka hoʻā ʻana i kekahi mau hale waihona puke waho (e like me libx264) hoʻololi i ka laikini i GPL 2 a i ʻole.
Ua hoʻohana au i ka ffmpeg-android-maker script (nā mea kōkua: Alexander Berezhnoi Javernaut + codacy-badger Codacy Badger + A2va) no ka hōʻuluʻulu ʻana i nā hale waihona puke. Hoʻoiho kēia palapala i ka code kumu o FFmpeg mai https://www.ffmpeg.org a kūkulu i ka waihona a hoʻohui iā ia no ka Android. Hoʻopuka ka palapala i nā waihona waihona like (*.so files) a me nā waihona poʻomanaʻo (*.h files).
ʻO ka manaʻo nui o ffmpeg-android-maker ʻo ka hoʻomākaukau ʻana i nā hale waihona puke no ka hoʻohui pono ʻana i kahi papahana Android. Hoʻomākaukau ka ʻatikala i ka papa kuhikuhi 'output' i manaʻo ʻia e hoʻohana ʻia. A ʻaʻole ʻo ia wale nō ka hana a kēia papahana. Loaʻa ka code kumu kumu ffmpeg-android-maker ma lalo o ka laikini MIT. E ʻike i ka LICENSE.txt file no nā kikoʻī hou aku ma https://github.com/Javernaut/ffmpeg-android-maker/ Ua hui pū ʻia nā hale waihona puke eXport-it FFmpeg me libaom, libdav1d, liblame, libopus a me libtwolame...akā ʻaʻole nā hale waihona puke pili āpau.
No ka hoʻomohala ʻana i ke kākoʻo Java no FFmpeg a holo iā ia ma ka Android 7.1 a i ka 12, ua hoʻomaka wau mai ka papahana MobileFFmpeg i kākau ʻia ma https://github.com/tanersener/mobile-ffmpeg/ na Taner Sener, ʻaʻole i mālama hou ʻia. ... a ua laikini ʻia ma lalo o LGPL 3.0 ...
I ka hope, ua hoʻomākaukau au i kahi papahana JNI Android Studio me nā hale waihona puke, e hoʻokomo i nā faila a me nā code kākoʻo Java, a e hana i kahi waihona waihona .aar Library e hoʻohui i hale waihona hou i kaʻu mau papahana e kū nei.
No ka hoʻomaka ʻana i kahi Channel multicast pono e hoʻohana i ka mea kūʻai aku, e komo i kahi kikowaena UPnP ma kāu pūnaewele kūloko (Wi-Fi) me ke kākoʻo FFmpeg. Pono kēia kikowaena e pane me ka papa inoa i nā faila āna e lawe aku ai. Inā loaʻa i kēia kikowaena ke kākoʻo FFmpeg, pono e hōʻike ʻia kahi kikokikona liʻiliʻi "Ma ke ʻano he kahawai" i ka ʻulaʻula ma ka hope o ka laina kiʻekiʻe o ka ʻaoʻao papa inoa. Ke "ulaʻula" ka kikokikona, ke kaomi ʻana i ke pihi "pāʻani" e like me ka hoʻohana ʻana i ka protocol UPnP. Inā kaomi ʻoe i ka kikokikona, pono e lilo ia i "'ōmaʻomaʻo" a kaomi i ke pihi "pāʻani", ma hope o ke koho ʻana i nā faila wikiō a i ʻole nā faila leo, pono e hoʻomaka i kahi "channel".
Ke pāʻani ʻia nei nā faila media i koho ʻia ma ke ʻano like me ka UPnP, koe naʻe ka lōʻihi o ka hoʻomaka ʻana ma muli o nā hana hou. Pono ʻoe e hoʻomau i kēia mea kūʻai aku e pāʻani ana i nā faila media no ka hoʻomau ʻana i ka paipu.
ʻAʻole hana ʻo IP multicast ma luna o ka Pūnaewele, hana wale ia ma ka Pūnaewele ʻĀpana ʻĀina no laila ma ka Wi-Fi. Hiki ke kaʻana like ʻia kahi kaila data multicast e nā mea kūʻai aku i ka manawa like. Ke hoʻouna nei ʻoe i kahi kahe ʻikepili media ma kāu pūnaewele Wi-Fi a hōʻike i kēia mau ʻikepili ma nā polokalamu pili, kokoke i ka manawa like, ʻo ka ʻokoʻa hoʻopaneʻe lohi.
Me UPnP a i ʻole HTTP streaming, pono kēlā me kēia mea i ka bandwidth o ka wikiō i hōʻike ʻia a ʻo ka bandwidth honua ka huina o nā kaʻa ʻelua. Me ka multicast streaming, hoʻouna mākou i hoʻokahi kahe ʻikepili ma ka LAN i kaʻana like ʻia ma waena o nā mea kūʻai aku he nui.
Inā hoʻohana ʻoe i kekahi mea kūʻai aku ma kāu pūnaewele ma hope o ka hoʻomaka ʻana i kahi alahele, pono ʻoe e ʻike i kahi laina hou ma ka puka aniani nui. ʻO ke kaomi wale ʻana i kēia laina pono e hoʻomaka ka hōʻike.
Hiki nō hoʻi ke hoʻohana i nā huahana ʻē aʻe e like me VLC, SMplayer, ... e hōʻike i ke wikiō a i ʻole e hoʻolohe i nā mele i puʻunaue ʻia ma ke kahawai multicast me ka hoʻohana ʻana i ka URL "UDP" i hōʻike ʻia ma ka mea kūʻai aku eXport-it. p>
ʻO ke ala maikaʻi no ka hoʻōki ʻana i kahi Kanal multicast ʻo ke kāpae ʻana ia mea ma ka mea kūʻai āu i hoʻomaka ai no ka mea ua hoʻomalu ʻia kēia kahawai ma laila. ʻO ka pāʻani ʻana a hiki i ka pau ʻana o nā faila hoʻoheheʻe ʻia e hāʻawi i ka hopena o ka hōʻike.
No ka hoʻomaka ʻana i kahi kaila multicast pono kahi ʻāpana mea kūʻai aku o kēia noi, e like me ka mea kūʻai aku eXport-it o kaʻu mau huahana hou. No ka hoʻohana ʻana i kahi kaila multicast holo hiki ke hana me ka mea kūʻai aku noiʻi a i ʻole me nā huahana ʻē aʻe e like me VLC, SMPlayer, ... e holo ana ma nā paepae ʻē aʻe a i ʻole ma Android. I ka hoʻohana ʻana iā VLC, ʻokoʻa ka URL e hoʻohana ai i kahi kahawai Multicast e like me udp://@239.255.147.111:27192... me kahi "@" hou. Me ka UDP Multicast channel, hoʻouna ʻia ka ʻikepili media i hoʻokahi wale nō e hōʻike ʻia i nā mea kūʻai aku he nui, akā ʻaʻohe hoʻonohonoho maoli, a hiki ke lohi i kekona ma muli o ke ʻano buffering a me nā ʻano mea hana.
Hiki ke hoʻolohe i ke kahawai multicast leo me nā huahana ʻē aʻe akā hōʻike ka mea kūʻai kikoʻī i nā kiʻi i hoʻouna ʻia ma luna o IP multicast. Inā makemake ʻoe e hoʻouna i nā kiʻi kikoʻī me ʻoe i ke mele, hiki iā ʻoe ke hoʻohana i ka koho "Page 2" ma ke kikowaena, e koho wale i nā kiʻi āu e makemake ai, wehe i ke koho ʻana i nā kiʻi āpau me hoʻokahi kaomi, a laila koho i kēia āu e makemake ai... p>
Aia nā pono a me nā pilikia me kēlā me kēia protocol. Hiki ke hoʻohana ʻia ke kahawai UPnP a me Multicast ma ka pūnaewele kūloko (ʻo Wi-Fi ka nui), e hana ana ka streaming HTTP ma ka ʻāina akā ma luna o ka Pūnaewele a hoʻohana i kahi polokalamu kele pūnaewele ma ke ʻano he mea kūʻai aku. ʻAʻohe ala paʻa o UPnP a me Multicast channel e hoʻomalu i ke komo ʻana, a hiki i kekahi mea i pili i ka pūnaewele Wi-Fi ke hoʻohana i ka server holo. Me ka protocol HTTP, hiki iā ʻoe ke wehewehe i nā inoa inoa a me nā ʻōlelo huna, a hoʻonohonoho i nā faila i nā ʻāpana komo (hui), e kaupalena ana i ke komo ʻana i kekahi mau faila media no nā mea hoʻohana kikoʻī. Hiki i nā hoʻonohonoho o ke kikowaena ke kaupalena i nā faila i puʻunaue ʻia a hoʻonohonoho i ka inoa waeʻano no kēlā me kēia faila inā makemake ʻia.