gpt4 book ai didi

ffmpeg - 如何使用 libx264、I、P、B 顺序设置 ffmpeg 的选项?

转载 作者:行者123 更新时间:2023-12-04 23:05:08 27 4
gpt4 key购买 nike

我正在寻找带有 libx264 的 ffmpeg 选项。
我想操作它,就像具有固定帧类型排序的硬件编码器一样。

IBBPBBPBBPBBPBB..IBBPBBPBBPBBP..IBBPBBP...

请给我一个建议。

    #!/bin/bash

INFILE=$1
IFILE=$1.ts

OPT_CRF="-g 120 -c:v libx264 -crf 18 -bf 2"
VAL_CBR="20000k"
OPT_COMMON="-c:v libx264 -b:v $VAL_CBR -minrate $VAL_CBR -maxrate $VAL_CBR -g 60"

ffmpeg -i $IFILE -vf crop=1920:1088:0:16 $OPT_COMMON -acodec copy ${INFILE}.1.ts
ffmpeg -i $IFILE -vf crop=1920:1088:1920:16 $OPT_COMMON -an ${INFILE}.2.ts
ffmpeg -i $IFILE -vf crop=1920:1088:0:1104 $OPT_COMMON -an ${INFILE}.3.ts
ffmpeg -i $IFILE -vf crop=1920:1088:1920:1104 $OPT_COMMON -an ${INFILE}.4.ts

最佳答案

如果要强制使用固定 P/B 模式,则应禁用 B 帧自适应算法并使用旧式全局选项指定最大连续 B 帧数,例如 PBBPBBPBBP 的“-b_strategy 0 -bf 2”... 模式.如果您还想要固定的 I 帧间隔,则还需要禁用场景切换检测算法,例如“-sc_threshold 0 -g 50”用于 I 帧之间的固定 50 帧间隔。使用足够新的 ffmpeg,您还可以使用 -x264opts 或 -x264-params 参数来使用私有(private) libx264 选项。

因此,对于完全固定的帧类型模式,您可以使用以下任何命令行(它们应该相等):
ffmpeg -i $INFILE -c:v libx264 -b:v $BITRATE -sc_threshold 0 -g 50 -b_strategy 0 -bf 2 $OUTFILE
或者
ffmpeg -i $INFILE -c:v libx264 -b:v $BITRATE -x264-params scenecut=0:keyint=50:b-adapt=0:bframes=2 $OUTFILE

关于ffmpeg - 如何使用 libx264、I、P、B 顺序设置 ffmpeg 的选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21010453/

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