back

eXport-it FFmpeg

FFmpeg кітапханасы дегеніміз не?

FFmpeg (https://www.ffmpeg.org/) дыбыс пен бейнені жазуға, түрлендіруге және ағынға беруге арналған толық, кросс-платформалық шешім болып табылады. FFmpeg - бұл адамдар мен машиналар жасаған кез келген нәрсені декодтау, кодтау, қайта кодтау, мух, демукс, ағынмен жіберу, сүзу және ойнату мүмкіндігі бар жетекші мультимедиялық құрылым. Ол ең түсініксіз көне пішімдерді соңғы деңгейге дейін қолдайды. Оларды кейбір стандарттар комитеті, қауымдастық немесе корпорация әзірлегеніне қарамастан.

Ол сондай-ақ өте портативті: FFmpeg Linux, Mac OS X, Microsoft Windows, BSDs, Solaris және т. және конфигурациялар.

FFmpeg кітапханасының өзі LGPL 2.1 лицензиясы астында. Белгілі бір сыртқы кітапханаларды қосу (мысалы, libx264) лицензияны GPL 2 немесе одан кейінгі нұсқасына өзгертеді.

Бұл кітапхана Android қолданбасына қалай біріктірілген

Мен кітапханаларды құрастыру үшін ffmpeg-android-мейкер сценарийін қолдандым (қосалқылар: Александр Бережной Явернаут + codacy-badger Codacy Badger + A2va). Бұл сценарий FFmpeg бастапқы кодын https://www.ffmpeg.org сайтынан жүктеп алып, кітапхананы құрастырады және оны Android үшін жинайды. Сценарий ортақ кітапханаларды (*.so файлдары), сондай-ақ тақырып файлдарын (*.h файлдары) шығарады.

FFmpeg-android-maker бағдарламасының басты мақсаты ортақ кітапханаларды Android жобасына үздіксіз біріктіру үшін дайындау болып табылады. Сценарий пайдалануға арналған 'output' каталогын дайындайды. Және бұл жобаның жалғыз жұмысы емес. Ffmpeg-android жасаушының бастапқы коды MIT лицензиясы бойынша қол жетімді. Қосымша мәліметтерді https://github.com/Javernaut/ffmpeg-android-maker/ сайтынан LICENSE.txt файлын қараңыз. eXport-it FFmpeg кітапханалары жай ғана libaom, libdav1d, liblame, libopus және libtwolame арқылы құрастырылған...бірақ барлық байланыстырылған кітапханалармен емес.

FFmpeg үшін Java қолдауын әзірлеу және оны Android 7.1-ден 12-ге дейін іске қосу үшін мен Танер Сенердің https://github.com/tanersener/mobile-ffmpeg/ құжатында құжатталған MobileFFmpeg жобасынан бастадым, ол енді қолданылмайды. ... және LGPL 3.0 ...

бойынша лицензияланған.

Соңында, кітапханалармен JNI Android Studio жобасын дайындадым, файлдарды және Java қолдау кодын қосамын және бар жобаларыма қосымша кітапхана ретінде біріктіру үшін .aar Library файлын жасадым.


Көп тарату арнасын қалай бастау керек

Көп тарату арнасын бастау үшін клиентті пайдалану, FFmpeg қолдауымен жергілікті желідегі (Wi-Fi) UPnP серверіне кіру қажет. Бұл сервер экспорттайтын файлдар тізімімен жауап беруі керек. Бұл серверде FFmpeg қолдауы болса, тізім бетінің жоғарғы жолының соңында қызыл түспен «Арна ретінде» шағын мәтіні көрсетілуі керек. Мәтін «қызыл» болған кезде «ойнату» түймесін басу UPnP протоколын пайдалану алдындағыдай жұмыс істейді. Мәтінді бассаңыз, ол «жасыл» болып, «ойнату» түймесін басқаннан кейін бейне немесе аудио файлдарды таңдағаннан кейін «арна» іске қосылуы керек.

Таңдалған мультимедиа файлдары UPnP арқылы ойнатылатын сияқты ойнатылады, тек қосымша тапсырмаларға байланысты іске қосу кідірісі ұзағырақ. Құбырды белсенді ету үшін осы клиентті медиа файлдарды ойнатуды жалғастыру керек.

Бұл құбырды басқа құрылғыларда пайдалану

IP мультикаст интернет арқылы жұмыс істемейді, ол тек жергілікті желіде жұмыс істейді, осылайша негізінен Wi-Fi желісінде. Көп тарату деректер арнасын бір уақытта көптеген клиенттер бөлісе алады. Сіз Wi-Fi желісінде медиа деректер ағынын жіберіп жатырсыз және бұл деректерді қосылған құрылғыларда дерлік синхронды түрде, тек кідірістің кідіріс айырмашылығын көрсетеді.

UPnP немесе HTTP ағынымен әрбір құрылғы көрсетілген бейненің өткізу қабілеттілігін қажет етеді және жаһандық өткізу қабілеті екі трафиктің қосындысы болып табылады. Көп тарату ағынымен біз бірнеше клиенттер арасында ортақ пайдаланылатын жергілікті желіге бір деректер ағынын жібереміз.

Арнаны іске қосқаннан кейін желіде басқа клиентті пайдалансаңыз, клиенттің негізгі терезесінде қосымша жолды көруіңіз керек. Осы жолды басу ғана шоуды бастау керек.

Сонымен қатар eXport-it клиентінде көрсетілген "UDP" URL мекенжайын пайдаланып бейнені көрсету немесе мультикаст арна арқылы таратылатын музыканы тыңдау үшін VLC, SMplayer, ... сияқты басқа өнімдерді пайдалану да мүмкін.

Көп тарату арнасын тоқтату үшін

Көп тарату арнасын тоқтатудың жақсы жолы - оны сіз бастаған клиентте тоқтату, себебі бұл арна сол жерде басқарылады. Ағынды мультимедиа файлдарының соңына дейін ойнату шоудың аяқталуын да береді.

Практикалық ойлар

Көп тарату арнасын бастау үшін менің басқа заманауи өнімдерімнің eXport-it клиенті сияқты осы қолданбаның арнайы клиент бөлігі қажет. Жұмыс істеп тұрған мультикаст арнасын қолдану үшін қолданба клиентімен немесе VLC, SMPlayer, ... басқа платформаларда немесе Android жүйесінде жұмыс істейтін басқа өнімдермен жасауға болады. VLC пайдаланған кезде көп тарату арнасын пайдалану URL мекенжайы udp://@239.255.147.111:27192... жай ғана қосымша "@" белгісімен біркелкі ерекшеленеді. UDP мультикаст арнасымен мультимедиа деректері бірнеше клиенттерде көрсету үшін тек бір рет жіберіледі, бірақ нақты синхрондау жоқ және буферлеуге және құрылғы сипаттамаларына байланысты кідіріс секундтар болуы мүмкін.

Аудио мультикаст арнасын тыңдауды басқа өнімдерде де жасауға болады, бірақ арнайы клиент IP мультикаст арқылы жіберілген кескіндерді де көрсетеді. Музыкамен арнайы фотосуреттерді жібергіңіз келсе, сервердегі "2-бет" мәзір опциясын пайдаланып, қалаған кескіндерді ғана таңдап, бір рет басу арқылы барлық кескіндердің таңдауын алып тастап, қалағаныңызды таңдаңыз...

Әр протоколдың артықшылықтары мен қолайсыздықтары бар. UPnP және Multicast арнасын тек жергілікті желіде (негізінен Wi-Fi) пайдалануға болады, HTTP ағыны жергілікті, сонымен қатар Интернет арқылы жұмыс істейді және клиент ретінде веб-шолғышты пайдаланыңыз. UPnP және Multicast арнасында кіруді басқарудың қауіпсіз жолы жоқ және Wi-Fi желісіне қосылған кез келген құрылғы іске қосылған серверді пайдалана алады. HTTP протоколымен пайдаланушы аттары мен құпия сөздерді анықтауға және файлдарды кіру санаттарына (топтарға) орнатуға болады, бұл белгілі бір пайдаланушылар үшін кейбір медиа файлдарына кіруді шектейді. Сервер параметрлері таралатын файлдарды шектеуге және қажет болса, әр файлға санат атауын орнатуға мүмкіндік береді.

back