我一直在ffmpeg在C++中做了一些工作。 有关编码器设置的大多数帮助都是以命令行选项的形式来解释的。 例如(从FFmpeg的现场拍摄):翻译ffmpeg命令行为C++编解码器设置
-mbd rd -trellis 2 -cmp 2 -subcmp 2 -g 100 -pass 1/2’
但要注意“-g 100”的一些解码器可能会产生问题。您可以尝试:
’-bf 2’, ’-flags qprd’, ’-flags mv0’, ’- flags skiprd.
当你想用C语言设置 这些选项例如我设法找到INT格这是不是真的有用;在AVCodecContext结构,以便解决,但其他人呢?
有没有一种方法可以确定哪些命令行参数对应于AVCodecContext成员? 我试图将它们设置是这样的:
AVCodecContext* c;
av_opt_set_int(c->priv_data, "cmp", 2, 0);
但这返回一个错误代码,该选项不存在。 我也试过:
av_opt_set(c->priv_data, "cmp", "2", 0);
我仍然得到错误,该选项不存在。
那么,有没有办法确定什么AVCodecContext成员我应该设置等同于上面的ffmpeg命令行参数?
谢谢,c-> priv_data被添加,因为我已经看到它在av_opt_set中使用http://stackoverflow.com/questions/15898131/video-created-using-ffmpeg-and-h264-codec-不玩在Android的玩家说 但它现在更有意义:)。谢谢 – Alex