Android 视频从VFR图像序列

Android 视频从VFR图像序列,android,ffmpeg,android-camera,frame-rate,Android,Ffmpeg,Android Camera,Frame Rate,我正在使用ffmpeg从安卓摄像机的PreviewCallback方法onPreviewFrame拍摄的图像序列创建视频 使用以下命令将图像写入连接到ffmpeg的stdin的管道: ffmpeg-f image2pipe-vcodec mjpeg-i--f flv-vcodec libx264 出现的问题是,与实际录制时间相比,输出视频非常短,所有帧都显示得非常快 但当帧大小设置为支持的最低预览大小时,视频似乎与实际录制时间同步 据我估计,这似乎是一个与输入图像序列和输出视频的帧速率有关的问题

我正在使用
ffmpeg
从安卓
摄像机
PreviewCallback
方法
onPreviewFrame
拍摄的图像序列创建视频

使用以下命令将图像写入连接到
ffmpeg
stdin
的管道:

ffmpeg-f image2pipe-vcodec mjpeg-i--f flv-vcodec libx264

出现的问题是,与实际录制时间相比,输出视频非常短,所有帧都显示得非常快

但当帧大小设置为支持的最低预览大小时,视频似乎与实际录制时间同步

据我估计,这似乎是一个与输入图像序列和输出视频的帧速率有关的问题

但主要问题是,从
onPreviewFrame
生成的帧具有可变速率

有没有办法从具有可变帧速率的图像序列构建平滑视频

此外,图像序列与来自麦克风的音频混合,这似乎与视频不同步


使用上述过程生成的视频和来自麦克风的音频能否以完美同步的方式进行多路复用…?

我已使用
Android NDK
将ffmpeg编译成二进制。。。我知道没有办法将图像作为VFR输入…但是有没有办法使用
ffmpeg
…同步基于视频帧和音频的ont时间戳?预览图像被写入一个管道,该管道使用命令
ffmpeg
stdin
连接到
ffmpeg-f image2pipe-vcodec mjpeg-I--f flv-vcodec libx264
…所有这些的基本目的是创建一个可流化的视频…也许你可以将你的问题包含在所有这些(重要)细节中。我还没有在Android上使用它,但我建议使用实际的FFmpeg API从代码中直接流式传输视频,或者使用另一种(较低的延迟)编码器库,如XviD.已经编辑了这个问题…并且使用
FFmpeg命令行
省去了写
JNI
代码以与
FFmpeg API
交互的所有麻烦…您能说您解决了这个问题了吗?