【问题标题】:How to delete audio stream from video using Ffmpeg in c++如何在 C++ 中使用 Ffmpeg 从视频中删除音频流
【发布时间】:2021-11-04 23:57:36
【问题描述】:

我想从视频中删除音频流并获取唯一的视频流。但是,当我在谷歌上搜索时,除了解码之外找不到任何教程。有没有办法从视频中删除特定流。

【问题讨论】:

    标签: c++ ffmpeg libav


    【解决方案1】:

    您不能直接删除文件中的流。但是,您可以编写一个新文件,其中包含原始文件的一个(或多个)流之外的所有流,这可以在不对流进行解码和编码的情况下完成。

    为此,您可以使用 libavformat,它是 ffmpeg 的一部分。您首先必须解复用视频文件,它会为您提供 packages,其中包含容器内每个流的编码数据。然后,您将这些包写入(复用)到一个新的视频容器中。详情请查看remuxing example

    但是请注意,您可以通过调用ffmpeg 程序并将适当的参数传递给它来获得相同的结果,这可能更容易 [SO1]。

    【讨论】:

    • 我明白了,谢谢。我必须在 C++ 中完成这个过程。
    猜你喜欢
    • 1970-01-01
    • 2015-08-25
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多