3
ffmpeg / avconvは、スケーリングされた出力を2で割り切れるように強制します
デスクトップをavconv(別名ffmpeg)で記録し、720pにスケーリングします。 最近スクリプトに追加して、xwininfoでウィンドウを選択できるようにしました。これにより、ウィンドウが明確に記録されます。 ただし、出力形式が2で割り切れない場合、エンコーダーが異常動作し、ビデオを取得できません。 ffmpeg内でこれを修正する方法はあるので、スケール値を設定するためにbashで大量の手動計算を実行する必要はありませんか? それらが不均一である場合、スケールフィルターに幅/高さを1つ減算/追加させることは可能ですか?(円形?) これを達成できる元のスケールの後に別のフィルターを適用することは可能ですか?(これにより、入力サイズが不均一でスケーリングのないビデオが丸められます) #!/bin/bash avconv \ -f x11grab -r $fps -s $capturesize -i :0.0$offset \ -vcodec libx264 \ -vf scale=-1:720 \ -pre:v lossless_ultrafast \ -threads 4 \ -y $@ 一部の古いメーリングリストではround()、フィルターで使用できる関数が提案されていますが、構文が正しくないようです。それが機能する場合scale=round(iw,2):round(ih,2)、最後に適用されるフィルターはすべての問題を一度に解決します。iw動作してihいないようです。