使用 FFmpeg 和 libx264 命令编码 h264 基线配置文件,级别 1

使用 FFmpeg 和 libx264 命令编码 h264 基线配置文件,级别 1

有人可以建议一个将视频编码为 h264 基线配置文件(级别 1)的命令吗?

以下是一个供参考的链接:http://blog.mediacoderhq.com/h264-profiles-and-levels/

我使用了这个命令,但 FFmpeg 说它是主配置文件,而不是基线。

ffmpeg -i <SOURCE> -vcodec libx264 -coder 0 -flags +loop+mv4 \
-partitions +parti4x4+parti8x8+parti4x4+partp8x8+partb8x8 -me_method hex -subq 7 \
-trellis 1 -refs 5 -bf 0 -flags2 +mixed_refs -coder 0 -me_range 16 -threads 2 \
-s 240x160 -b:v 64k -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 \
-qmin 10 -qmax 51 -qdiff 4 -strict experimental -acodec aac -ac 1 -ab 48000 \
-f mpegts udp://127.0.0.1:10006?pkt_size=1316

答案1

确保您已获得最新的 FFmpeg 和 libx264 – 这非常重要* – 然后尝试类似以下操作:

ffmpeg -i … -c:v libx264 -profile:v baseline -level 1 …

这将导致:

[libx264 @ 0x10180fa00] profile Constrained Baseline, level 1.0

当然,您也可以为 x264提供-preset和选项。请参阅了解更多信息。-tunex264 --fullhelp

以下是使用的 x264 选项:

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

* 它适用于 FFmpeg 0.9 和 x264 core 118。该-vprofile选项在 FFmpeg 中未记录,现在是-profile:v。它现在基本上就像 一样工作-profile,后者再次应该取代-vpre。它使用 x264 的内置配置文件,而不是依赖于.ffpreset文件。

相关内容