录制视频时保持预览回调?

Ale*_*tin 6 camera android android-mediarecorder

我目前正在使用onPreviewCallback,因此我可以在预览时从相机捕获帧并通过http流式传输.

这工作但我发出一个命令开始录制,似乎我没有预览回调.

那么,如何保留预览回调,以便我可以将帧从表面发送到我的服务器并在设备上录制视频?

Vic*_*nin 5

我在Android相机上工作了很长时间.但是,我记得

1)录制时不调用onPreviewCallback

在几个问题中提到了它:

相机onPreviewFrame未调用 如何在录制视频时显示实时过滤的相机预览?

2)我看到它是在SipDroid和其他几个Android SIP客户端下载的处理(这是1 - 2年前,因此这种方法可能已经过时):

  • 管道已创建
  • 管道的接收套接字包装在FileDescriptor中并传递给MediaRecorder setOutputFile
  • 在一个线程中不断读取管道的发送套接字.
  • 这样,您可以接收写入文件的内容
  • 现在,问题是如何处理内容(因为,它是H.263或H.264编码,可以与声音混合,如果你用声音录制视频).
  • 有一些启发式算法解析了内容(然而,这是屁股的痛苦)

3)你可以使用onPreviewFrame +启动AudioRecorder并自己编码(使用ffmpeg或类似的东西)到mp4文件.这样您就不需要启动MediaRecorder录制.