0

libx264 で ffmpeg のオプションを探しています。固定フレーム型の順序でハードウェア エンコーダーのように操作したい。

IBBPBBPBBPBBPBB..IBBPBBPBBPBBBP..IBBPBBBP...

アドバイスをください。

    #!/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
4

1 に答える 1

5

固定の P/B パターンを強制したい場合は、B フレーム適応アルゴリズムを無効にし、古いスタイルのグローバル オプションを使用して最大連続 B フレーム数を指定する必要があります。 . 固定の I フレーム間隔も必要な場合は、シーンカット検出アルゴリズムも無効にする必要があります。新しい十分なffmpegを使用すると、-x264optsまたは-x264-params paramsを使用してプライベート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

于 2014-01-09T17:15:58.367 に答える