RTP를 통해 mpeg4 비디오 스트림 (실제로 안드로이드 비디오 카메라에서)을 분리해야합니다. 사양은 빠른 참조를 위해 약간 크다.Android : mpeg4/H.264 패킷 화 예제
mpeg4 패킷 화를위한 예제/오픈 소스 코드가 있는지 궁금합니다.
도움 주셔서 감사합니다.
RTP를 통해 mpeg4 비디오 스트림 (실제로 안드로이드 비디오 카메라에서)을 분리해야합니다. 사양은 빠른 참조를 위해 약간 크다.Android : mpeg4/H.264 패킷 화 예제
mpeg4 패킷 화를위한 예제/오픈 소스 코드가 있는지 궁금합니다.
도움 주셔서 감사합니다.
Mpeg4 파일 형식은 ISO/IEC 14496-14라고도합니다. Google은 사양을 찾을 수 있습니다. 그러나 (RTP 게시자) 무엇을하려고하면 다음과 같은 이유로 힘들 것입니다 :
의 MPEG4 파일의 끝에서 헤더를 가지고있다. 즉, 비디오 스트림이 끝날 때만 헤더가 기록됩니다. 실시간 비디오 스트리밍을 원하므로 오디오 및 비디오 패킷의 시작/끝 위치를 추측해야합니다. 다른 Android 크기 및 코덱 매개 변수를 사용할 수 있으므로 모든 Android 기기에서 동일하지 않습니다. 따라서 코드는 장치에 따라 다르므로 여러 가지 장치를 지원하고 테스트해야합니다.
일부 장치는 정기적으로 비디오 데이터를 파일로 플러시하지 않습니다. 1 분에 1 회 정도만 플러시하는 경우도 있습니다. 이렇게하면 실시간 스트림이 중단됩니다.
예제 코드는 없습니다. 나는 보았 기 때문에 나는 알고있다. 비슷한 것을하는 몇몇 회사가 있지만 주로 RTP를 건너 뜁니다. 대신 파일을 자신의 서버에 점진적으로 업로드 한 다음 비디오/오디오 스트림 "쵸핑"을 구현 한 다음 비디오/트랜스 코더 백엔드에 삽입합니다. 저는 그 회사 중 한 곳에서 일하면서 그렇게했습니다. AFAIK 경쟁도 비슷한 접근 방식을 취했습니다. 모든 복잡성은 서버에 있기 때문에 문제가 발생하거나 새로운 장치가 출시되면 클라이언트를 업데이트 할 필요가 없습니다.
답변 주셔서 감사합니다! 또한 내가 쪼갤 필요가있는 것이 있을까요? MPEG4 컨테이너 또는 h.264 자체? 정적보기 (예 : IP 카메라 - 고정 지점 고정)와 같은 스트리밍에서 사용하기 쉬운 h.264 프로필을 알고 계실 수도 있습니다. –
프로필에 대해 모르시겠습니까? Android 기기에서도 설정할 수 있습니까? Mpeg4는 다양한 비디오 및 오디오 스트림을 포함 할 수있는 컨테이너입니다. 스트림은 인터리브 된 패킷으로 분할됩니다. 명세는 그것을 전부 설명한다. –
내가 사양에서 이해하는 한, 안드로이드 스트림 NAL에서 RTP 패킷으로 간단하게 가져와야합니다. –
자신의 스트리밍 서버와 오픈 소스이지만 C 또는 C++로 작성되었으므로 [FFmpeg] (http://www.ffmpeg.org/)를 확인하고 싶을 수 있습니다. – Augusto