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

如何使用libx264、I、P、B顺序设置ffmpeg的选项?,ffmpeg,frame,libx264,Ffmpeg,Frame,Libx264,我正在寻找带有libx264的ffmpeg选项。 我想操作它,就像一个硬件编码器,订购固定帧类型 IBBPBBPBBBBBB..IBBPBBPBBBP..IBBPBBBBP..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

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

IBBPBBPBBBBBB..IBBPBBPBBBP..IBBPBBBBP..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帧数,例如用于PBBP的“-B_策略0-bf 2”。。。图案如果您还需要固定的I帧间隔,则还需要禁用场景检测算法,例如-sc_threshold 0-g 50,用于I帧之间的固定50帧间隔。有了足够新的ffmpeg,您还可以使用-x264opts或-x264参数使用私有libx264选项

因此,对于完全固定的框架模式类型,您可以使用以下任何命令行(它们应该相等):

ffmpeg-i$inflee-c:v libx264-b:v$BITRATE-sc_阈值0-g50-b_策略0-bf 2$OUTFILE


ffmpeg-i$infle-c:v libx264-b:v$BITRATE-x264参数scenecut=0:keyint=50:b-adapt=0:bframes=2$OUTFILE

如果要强制使用固定的p/b模式,则应禁用b帧自适应算法,并使用旧式全局选项指定最大连续b帧数,例如“-b_策略0-bf 2”对于PBBPBBPBBP。。。图案如果您还需要固定的I帧间隔,则还需要禁用场景检测算法,例如-sc_threshold 0-g 50,用于I帧之间的固定50帧间隔。有了足够新的ffmpeg,您还可以使用-x264opts或-x264参数使用私有libx264选项

因此,对于完全固定的框架模式类型,您可以使用以下任何命令行(它们应该相等):

ffmpeg-i$inflee-c:v libx264-b:v$BITRATE-sc_阈值0-g50-b_策略0-bf 2$OUTFILE


ffmpeg-i$inflee-c:v libx264-b:v$BITRATE-x264参数scenecut=0:keyint=50:b-adapt=0:bframes=2$OUTFILE

为什么要这样做?请解释。我正在测试4ea播放器的播放,该播放器是机器,并与以太网连接进行同步。但没有同步。播放同一文件时可能会同步。为什么要这样做?请解释。我正在测试4ea播放器的播放,该播放器是机器,并与以太网连接进行同步。但没有同步。播放同一个文件时可能存在同步。