使用ffmpeg / mobile-ffmpeg捕获视频

6

我在我的项目中必须使用FFmpeg。按照给定的指示,我已经集成了mobile-ffmpeggithub/tanersener/mobile-ffmpeg

我已经使用了以下Pod。

pod 'mobile-ffmpeg-full'

我需要打开摄像头,并执行以下命令:

[MobileFFmpeg execute: @"-f avfoundation -r 30 -video_size 1280x720 -pixel_format bgr0 -i 0:0 -vcodec h264_videotoolbox -vsync 2 -f h264 -t 00:00:05 %@", recordFilePath];

它还请求了相机和麦克风的权限,随后出现日志显示相机正在捕获视频,但没有相机预览。在保存视频后,我在文档目录中找到了该链接,但这些链接无法播放。
我还执行了库提供的视频信息和其他命令,但它们总是失败了。
请给予任何帮助、示例项目、包装器(Objective-C或Swift)、指导。

你可以使用默认的UIImagePickerController,然后使用ffmpeg进行任何转换吗?请问为什么你在你的应用程序中使用ffmpeg? - Vidhyanand
实时预览上的视频滤镜。 - AsifHabib
我不相信在iOS上有“-vcodec h264_videotoolbox”。请您再次确认一下。 - dezinezync
似乎在iOS上没有可用的FFMpeg包装器。 - AsifHabib
我也遇到了同样的问题。你找到任何解决方案了吗? - igdev
@igdev 我必须使用本地解决方案。不能使用FFmpeg解决方案。 - AsifHabib
1个回答

2

我花了很多时间弄清楚我做错了什么。最终,我找到了如何使用ffmpeg-mobile录制视频的方法。 我的代码如下:

let temp = FileManager.default.temporaryDirectory
let outputFilePath = temp.absoluteString + UUID().uuidString + ".mp4"
MobileFFmpeg.execute("-f avfoundation -r 60 -video_size 1280x720 -i 0:0 -vcodec h264_videotoolbox -vsync 2 -f mp4 -t 00:00:05 " + outputFilePath)

出于某种我不知道的原因,AVPlayer无法播放h264视频。这就是为什么当您尝试执行来自ffmpeg-mobile文档的代码时,会看到无限加载的原因。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接