C++ ffmpeg x264 编码设置

C++ ffmpeg x264 encoding settings

本文关键字:设置 编码 x264 ffmpeg C++      更新时间:2023-10-16

我想通过 FFMPEG C++ SDK 设置 x264 编码设置,如何设置?

现在,我使用 av_opt_set 函数,但它似乎不起作用。(例如。 av_opt_set(c->priv_data, "cabac", "0", 0);

我想在下面设置设置。

cabac=1 ref=1 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 G...fast_pskip=1  chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=1 keyint_minG...=1 scenecut=40  intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00

有人知道吗?

你犯了和这个人一模一样的错误。我的答案在这里和那里一样:

不要把c->priv_data传给av_opt_set.传递上下文。如:

av_opt_set(c, "cabac", "0", 0);

在内部,av_opt_set会将对象强制转换为包含所有选项的AVClass*

但是您不必担心这些。您只需要使用上下文调用av_opt_set,它将为您处理所有肮脏的细节。同样,为了清楚起见,您应该只是打电话给av_opt_set(c, "cabac", "0", 0);