eXport-it, android  UPnP Client/Server

ekspor itu android UPnP/HTTP client/server

Android


aplikasi file sharing Android untuk video, audio, gambar dan ebooks




eXport-it FFmpeg



Apa itu perpustakaan FFmpeg?

FFmpeg (https://www.ffmpeg.org/) adalah solusi lintas platform yang lengkap untuk merekam, mengonversi, dan mengalirkan audio dan video. FFmpeg adalah kerangka kerja multimedia terkemuka, yang mampu mendekode, menyandikan, mentranskode, mux, demux, streaming, memfilter, dan memainkan hampir semua hal yang telah dibuat oleh manusia dan mesin. Ini mendukung format kuno yang paling tidak jelas hingga mutakhir. Tidak peduli apakah mereka dirancang oleh beberapa komite standar, komunitas atau perusahaan.

Ini juga sangat portabel: FFmpeg mengkompilasi, menjalankan, dan melewati infrastruktur pengujian kami FATE di Linux, Mac OS X, Microsoft Windows, BSD, Solaris, dll... di bawah berbagai lingkungan build, arsitektur mesin, dan konfigurasi.

Lisensi FFmpeg itu sendiri berada di bawah lisensi LGPL 2.1. Mengaktifkan library eksternal tertentu (seperti libx264) akan mengubah lisensi menjadi GPL 2 atau lebih baru.

Bagaimana perpustakaan ini terintegrasi dalam aplikasi Android

Saya menggunakan skrip pembuat ffmpeg-android (kontributor: Alexander Berezhnoi Javernaut + codacy-badger Codacy Badger + A2va) untuk mengkompilasi perpustakaan. Skrip ini mengunduh kode sumber FFmpeg dari https://www.ffmpeg.org dan membangun perpustakaan dan merakitnya untuk Android. Script menghasilkan pustaka bersama (file *.so) serta file header (file *.h).

Fokus utama pembuat ffmpeg-android adalah menyiapkan pustaka bersama untuk integrasi yang mulus ke dalam proyek Android. Script menyiapkan direktori `output` yang akan digunakan. Dan itu bukan satu-satunya hal yang dilakukan proyek ini. Kode sumber pembuat ffmpeg-android tersedia di bawah lisensi MIT. Lihat file LICENSE.txt untuk detail selengkapnya di https://github.com/Javernaut/ffmpeg-android-maker/ Pustaka FFmpeg eXport-it baru saja dikompilasi dengan libaom, libdav1d, liblame, libopus, dan libtwolame...tetapi tidak semua pustaka terkait.

Untuk mengembangkan dukungan Java untuk FFmpeg dan menjalankannya di Android 7.1 hingga 12, saya memulai dari proyek MobileFFmpeg yang didokumentasikan di https://github.com/tanersener/mobile-ffmpeg/ oleh Taner Sener, yang tidak dikelola lagi ... dan dilisensikan di bawah LGPL 3.0 ...

Akhirnya, saya menyiapkan proyek JNI Android Studio dengan pustaka, menyertakan file dan kode dukungan Java, dan membuat file Pustaka .aar untuk diintegrasikan sebagai pustaka tambahan ke proyek saya yang sudah ada.


Cara memulai saluran multicast

Untuk memulai Saluran multicast perlu menggunakan klien, untuk mengakses server UPnP di jaringan lokal Anda (Wi-Fi) dengan dukungan FFmpeg. Server ini harus menjawab dengan daftar file yang diekspornya. Jika server ini memiliki dukungan FFmpeg, teks kecil "Sebagai saluran" harus ditampilkan dengan warna merah di akhir baris teratas halaman daftar. Ketika teks "merah", mengklik tombol "play" berfungsi seperti sebelumnya menggunakan protokol UPnP. Jika Anda mengklik teks, itu akan menjadi "hijau" dan mengklik tombol "putar", setelah memilih file video atau audio, akan memulai "saluran".

File media yang dipilih tampaknya diputar dengan cara yang sama daripada melalui UPnP, kecuali penundaan startup lebih lama karena tugas tambahan. Anda harus membuat klien ini memutar file media agar pipa tetap aktif.

Menggunakan pipa ini di perangkat lain

IP multicast tidak berfungsi melalui Internet, ini hanya berfungsi di Jaringan Area Lokal, terutama di Wi-Fi. Saluran data multicast dapat dibagikan oleh banyak klien secara bersamaan. Anda mengirimkan aliran data media di jaringan Wi-Fi Anda dan menampilkan data ini di perangkat yang terhubung, hampir secara sinkron, hanya perbedaan penundaan latensi.

Dengan UPnP atau streaming HTTP, setiap perangkat memerlukan bandwidth video yang ditampilkan dan bandwidth global adalah jumlah dari kedua lalu lintas. Dengan streaming multicast, kami mengirim satu aliran data di LAN yang dibagikan di antara beberapa klien.

Jika Anda menggunakan klien lain di jaringan Anda setelah memulai saluran, Anda akan melihat baris tambahan di jendela utama klien. Hanya dengan mengeklik baris ini, pertunjukan akan dimulai.

Anda juga dapat menggunakan produk lain seperti VLC, SMplayer, ... untuk menampilkan video atau mendengarkan musik yang didistribusikan melalui saluran multicast hanya dengan menggunakan URL "UDP" yang ditampilkan pada klien eXport-it.

Untuk menghentikan saluran multicast

Cara yang baik untuk menghentikan Saluran multicast adalah dengan menghentikannya di klien tempat Anda memulainya karena saluran ini dikontrol di sana. Memutar file media yang di-streaming sampai akhir juga akan mengakhiri pertunjukan.