如何使用libvlc API或FFmpeg API提取音频/视频剪辑?

3
我正在支持一个使用libvlc播放音频/视频流的C++/Qt应用程序。我的任务是增强该应用程序,使用户能够通过设置开始/结束时间并捕获中间的视频来提取视频剪辑到文件中。
我已经实现了开始/结束标记,并可以将音频/视频定位到正确的时间进行播放。我的问题现在是以各种格式/压缩方式捕获此流到文件中。
我一直在通过libvlc的Doxygen链接和FFmpeg的文档进行搜索,但我没有看到任何API函数可将音频/视频剪辑提取到文件中。我也研究了this example,但它并不进行捕获。是否有其他示例可以进行捕获?
有人能指向API或示例如何实现这一点吗?
编辑:我看到了this question的答案,但示例项目是一个失效的链接。
1个回答

4

ffmpeg支持剪切视频文件并将剪辑转换为所需格式。通过提供开始时间(使用-ss参数)和持续时间(使用-t参数),您实际上可以在“ ss到t”秒内剪辑视频。


1
是的,但你说的是命令行可执行文件,对吧?我想知道如何通过代码调用它(而不是分叉)。不过还是谢谢。 - retrodrone
@retrodrone 从代码实现这个并不难 :) ffmpeg 提供了一个示例程序 ffmpeg.c ... 您可以使用它来从程序中完成这项工作。所有命令行示例都可以在调用 transcode/av_encode 方法之前使用此示例代码进行设置。 - Muhammad Razib
谢谢,@mahmudul。我在哪里可以找到ffmpeg.c?它在常规源代码树中吗? - retrodrone
@retrodone:是的...你可以在常规源代码树中找到它。下载并解压缩FFmpeg后,查看FFmpeg文件夹。在这里,你会找到ffmpeg.c... :) - Muhammad Razib

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