从 iOS 应用中编码 mjpeg 文件

Encode mjpeg files from within an iOS app

我正在尝试使用 iOS 上的 mjpeg 编解码器对视频文件进行编码。基本上,我正在尝试复制此命令的作用

ffmpeg -i recording.mp4 -vsync vfr -q:v 9 recording.mjpeg

在应用程序中。

有没有简单的方法来做到这一点?

我正在考虑使用低级别 ffmpeg API 来像 this example 那样做,但我想知道是否有人知道更简单的方法。

我还可以访问 CMSampleBufferRef 格式的各个视频帧,以防万一。 AVAssetWriter 似乎不支持 mjpeg,这很不幸,因为那样会使事情变得非常简单。

我最终使用了 transcoding.c 示例中显示的代码,但将编码编解码器替换为 AV_CODEC_ID_MJPEG