use*_*526 5 ffmpeg video-processing libav ios libavformat
我正在构建一个 iOS 应用程序,其中需要在后台重新编码和修剪视频。
我不能使用 iOS 库 (AVFoundation),因为它们依赖于 GPU,如果它是后台的,则没有应用程序可以访问 GPU。
由于这个问题,我切换到 FFMpeg 并编译它(与 libx264 一起)并将它集成到我的 iOS 应用程序中。
总结一下我需要的是:
几周后——我经常用头撞墙——我设法:
如果我要通过命令行运行 ffmpeg,我会像这样运行它:
ffmpeg -i input.MOV -ss 0 -t 10 -vf scale=320:240 -c:v libx264 -preset ultrafast -c:a copy output.mkv
Run Code Online (Sandbox Code Playgroud)
我关心的是如何修剪视频?虽然我可以计算我编码/解码的视频帧的数量,并根据 FPS 决定何时停止,但我不能对音频做同样的事情,因为我只是对其进行解复用和重新复用。
理想情况下 - 在缩放视频之前 - 我会运行一个过程,通过将每个流(视频和音频)的 10 秒复制到一个新的视频容器中来修剪视频。
如何通过 AV 库实现这一目标?
小智 -1
我知道你可以通过调用 ffmpeg 来完成此操作:
ffmpeg -i input.MOV -filter_complex [0:v]trim=duration=10.0,scale=320:240[vid];[0:a]atrim=duration=10.0[aud] -map [vid] -map [aud] -c:v libx264 -preset ultrafast -c:a libvo_aacenc -b:a 128k -flags +aic+mv4 output.mkv
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
452 次 |
| 最近记录: |