eXport-it, android  UPnP Client/Server

eXport-it 안드로이드 UPnP를/HTTP 클라이언트/서버

Android


비디오, 오디오, 이미지, 전자 책에 대한 안드로이드 파일 공유 응용 프로그램




eXport-it FFmpeg



FFmpeg 라이브러리란 무엇입니까?

FFmpeg(https://www.ffmpeg.org/)는 오디오 및 비디오를 기록, 변환 및 스트리밍하는 완벽한 크로스 플랫폼 솔루션입니다. FFmpeg는 인간과 기계가 만든 거의 모든 것을 디코딩, 인코딩, 트랜스코딩, mux, demux, 스트리밍, 필터링 및 재생할 수 있는 최고의 멀티미디어 프레임워크입니다. 그것은 최첨단까지 가장 모호한 고대 형식을 지원합니다. 일부 표준 위원회, 커뮤니티 또는 기업에서 설계했는지 여부에 관계없이.

또한 이식성이 높습니다. FFmpeg는 다양한 빌드 환경, 기계 아키텍처, Linux, Mac OS X, Microsoft Windows, BSD, Solaris 등에서 테스트 인프라 FATE를 컴파일, 실행 및 통과합니다. 및 구성.

FFmpeg 라이브러리 자체는 LGPL 2.1 라이선스 하에 있습니다. 특정 외부 라이브러리(예: libx264)를 활성화하면 라이선스가 GPL 2 이상으로 변경됩니다.

이 라이브러리는 Android 애플리케이션에 어떻게 통합되어 있습니까

저는 ffmpeg-android-maker 스크립트(기여자: Alexander Berezhnoi Javernaut + codacy-badger Codacy Badger + A2va)를 사용하여 라이브러리를 컴파일했습니다. 이 스크립트는 https://www.ffmpeg.org에서 FFmpeg의 소스 코드를 다운로드하고 라이브러리를 빌드하고 Android용으로 어셈블합니다. 스크립트는 공유 라이브러리(*.so 파일)와 헤더 파일(*.h 파일)을 생성합니다.

ffmpeg-android-maker의 주요 초점은 Android 프로젝트에 원활하게 통합할 수 있도록 공유 라이브러리를 준비하는 것입니다. 스크립트는 사용할 '출력' 디렉토리를 준비합니다. 그리고 이 프로젝트가 하는 일은 이것만이 아닙니다. ffmpeg-android-maker의 소스 코드는 MIT 라이선스로 제공됩니다. https://github.com/Javernaut/ffmpeg-android-maker/에서 자세한 내용은 LICENSE.txt 파일을 참조하세요. eXport-it FFmpeg 라이브러리는 libaom, libdav1d, liblame, libopus 및 libtwolame으로 컴파일되지만 모든 관련 라이브러리는 아닙니다.

FFmpeg에 대한 Java 지원을 개발하고 Android 7.1~12에서 실행하기 위해 더 이상 유지 관리되지 않는 Taner Sener의 https://github.com/tanersener/mobile-ffmpeg/에 설명된 MobileFFmpeg 프로젝트에서 시작했습니다. ... LGPL 3.0 ...

에 따라 라이선스가 부여되었습니다.

마지막으로 라이브러리가 포함된 JNI Android Studio 프로젝트를 준비하고 파일 및 Java 지원 코드를 포함하고 .aar 라이브러리 파일을 생성하여 기존 프로젝트에 추가 라이브러리로 통합했습니다.


멀티캐스트 채널 시작 방법

멀티캐스트 채널을 시작하려면 클라이언트를 사용하여 FFmpeg를 지원하는 로컬 네트워크(Wi-Fi)의 UPnP 서버에 액세스해야 합니다. 이 서버는 내보내는 파일 목록으로 응답해야 합니다. 이 서버가 FFmpeg를 지원하는 경우 목록 페이지의 맨 윗줄 끝에 "채널로"라는 작은 텍스트가 빨간색으로 표시되어야 합니다. 텍스트가 "빨간색"일 때 "재생" 버튼을 클릭하면 UPnP 프로토콜을 사용하기 전과 같이 작동합니다. 텍스트를 클릭하면 "녹색"이 되고 "재생" 버튼을 클릭하면 비디오 또는 오디오 파일을 선택한 후 "채널"이 시작되어야 합니다.

선택한 미디어 파일은 추가 작업으로 인해 시작 지연이 더 긴 것을 제외하고는 UPnP를 통해와 동일한 방식으로 분명히 재생됩니다. 파이프를 활성 상태로 유지하려면 이 클라이언트에서 미디어 파일을 계속 재생해야 합니다.

다른 기기에서 이 파이프 사용

IP 멀티캐스트는 인터넷을 통해 작동하지 않으며 LAN에서만 작동하므로 주로 Wi-Fi에서 작동합니다. 멀티캐스트 데이터 채널은 많은 클라이언트가 동시에 공유할 수 있습니다. Wi-Fi 네트워크에서 미디어 데이터 흐름을 전송하고 이러한 데이터를 연결된 기기에 거의 동기적으로 표시하고 지연 지연 차이만 표시합니다.

UPnP 또는 HTTP 스트리밍을 사용하는 경우 각 장치에는 표시된 비디오의 대역폭이 필요하며 글로벌 대역폭은 두 트래픽의 합계입니다. 멀티캐스트 스트리밍을 사용하면 LAN에서 여러 클라이언트 간에 공유되는 하나의 데이터 흐름을 보냅니다.

채널을 시작한 후 네트워크에서 다른 클라이언트를 사용하는 경우 클라이언트 기본 창에 추가 줄이 표시되어야 합니다. 이 줄을 클릭하기만 하면 쇼가 시작됩니다.

또한 eXport-it 클라이언트에 표시된 "UDP" URL을 사용하여 멀티캐스트 채널을 통해 배포된 비디오를 보여주거나 음악을 듣기 위해 VLC, SMplayer 등과 같은 다른 제품을 사용하는 것도 가능합니다.

멀티캐스트 채널을 중지하려면

멀티캐스트 채널을 중지하는 좋은 방법은 이 채널이 제어되는 클라이언트에서 시작한 클라이언트에서 중지하는 것입니다. 스트리밍된 미디어 파일의 끝까지 재생하면 쇼도 끝나야 합니다.