gpt4 book ai didi

ffmpeg - 如何在 avformat_open_input() 函数中设置编解码器?

转载 作者:行者123 更新时间:2023-12-04 23:10:34 25 4
gpt4 key购买 nike

我的部分命令如下所示:

ffmpeg -hide_banner -f avfoundation -framerate 30 -video_size 3840x2160 -c:v <some codec> -pix_fmt <some pixel format> -i "0" ...
我尝试使用 avlib 复制这部分命令的代码如下所示:
AVDictionary* options = nullptr;
av_dict_set(&options, "framerate", "30", 0);
av_dict_set(&options, "video_size", "3840x2160", 0);
av_dict_set(&options, "pixel_format", <some pixel format>, 0);
av_dict_set(&options, "vcodec", <some codec>, 0);
int err = avformat_open_input(&ctx->formatContext, id.c_str(), iformat, &options);
除“vcodec”外,所有选项均被接受。
甚至可以像这样指定编解码器吗?如果是我应该使用哪个选项?
我还需要提到,如果我使用“pix_fmt”代替“pixel_format”,该选项也无法识别,所以我尝试使用不同的名称,如:“v:c”、“videocodec”......但没有任何效果,我也在 ffmpeg 文档和源代码中找不到任何内容。

最佳答案

vcodecffmpeg 专用的参数二进制,它不是输入格式选项。
您必须使用 avcodec_find_decoder()avcodec_find_decoder_by_name()选择编解码器。
查看解复用/解码示例,该示例太大,无法在此处重现:
https://ffmpeg.org/doxygen/trunk/demuxing_decoding_8c-example.html

关于ffmpeg - 如何在 avformat_open_input() 函数中设置编解码器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70035372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com