안드로이드 응용 프로그램을 개발하여 녹화를 중단하지 않고 비디오를 계속 녹화하고 서버에 업로드 할 수있게하고 싶습니다. 비디오를 멈추지 않고 최대 60 분까지 녹화 할 수 있다는 것은 어플리케이션에서 매우 중요합니다. 두 부분아직 녹음 중일 때 ffmpeg로 안드로이드 인코딩 비디오
초기 접근
출원 consits : 카메라로부터 연속적으로 녹화
- MediaRecorder.
- 커터/복사 - 파트 : 비디오가 녹화되는 동안 특정 세그먼트를 꺼내 서버로 보내야합니다. 이 부분은 http://ffmpeg4android.netcompss.com/
libffmpeg.so을 사용하여 구현되었습니다. VideoKit Wrapper를 사용하여 필요한 모든 매개 변수로 ffmpeg를 직접 실행할 수 있습니다.
내 문제
나는 안드로이드의 MediaRecorder 녹음을 마무리 한 나를 위해 큰 일했다 PARAMS
ffmpeg -ss 00:00:03 -i <in-file> -t 00:00:05 -vcodec copy -acodec copy <out-file>
으로는 FFmpeg 명령을 시도했다.
동일한 명령을 실행하면 MediaRecorder가 파일을 기록하는 동안 ffmpeg가 "작업이 허용되지 않음"이라는 오류 메시지와 함께 종료됩니다.
- 오류 메시지가 안드로이드가 파일에 대한 액세스를 막을 수 없다고 생각하지 않습니다. 나는 ffmpeg가 비디오에서 적절한 위치를 찾기 위해 "moov-atoms"을 필요로한다고 생각한다. 내가 다른 생각하는 이유
합니다 (MOOV 원자를 필요로하지 않는) 접근 :
- 안드로이드와 RTSP 스트림을 생성하고 나중에 RTSP 스트림에 액세스 할 수 있습니다. 문제는 내 지식에 안드로이드 SDK rtsp 스트림에 녹음을 지원하지 않습니다.
- ffmpeg로 카메라에 직접 액세스 할 수 있습니다 (/ dev/video0가 비디오 장치 인 것 같습니다!)
- 스트리밍의 대안으로 webm을 읽었습니다. 아마도 webm 스트림을 기록 할 수 있습니까?
TLDR : 너무 오랫동안 읽어 보지 않았 :
내가 그것을 기록하는 동안에는 FFmpeg (libffmpeg.so)와 비디오 파일에 액세스 할 수 있습니다. Fffmpeg는 "작업을 할 수 없습니다"라는 오류 메시지와 함께 종료
목표 :
내 목표는 비디오 (오디오)를 기록하고 여전히 기록되는 동안 비디오의 일부를 가져 와서에 업로드하는 것입니다섬기는 사람.
혹시 문제를 해결하는 데 도움이 될 수도 있고 내 문제에 접근하는 방법에 대한 다른 아이디어가있을 수도 있습니다.
미리 감사드립니다.
이 문제를 해결 했습니까? – Trinea