いくつかのフォーラムから次のコードを入手しました。私は初心者ですので、質問にご容赦ください...
ビデオをMTSからAVIに非常に高品質で変換する必要があります。現在、変換には次のコードを使用しています。
for %%a in ("*.mts") do ffmpeg.exe -i "%%a" -vcodec libxvid -vtag XVID -aspect 16:9 -maxrate 1800k -b 1500k -qmin 10 -qmax 42 -bufsize 5120 -acodec libmp3lame -ac 2 -ab 160k -y "%%~na_xvid.avi"
for %%a in ("*.m2ts") do ffmpeg.exe -i "%%a" -vcodec libxvid -vtag XVID -aspect 16:9 -maxrate 1800k -b 1500k -qmin 10 -qmax 42 -bufsize 5120 -acodec libmp3lame -ac 2 -ab 160k -y "%%~na_xvid.avi"
しかし、私は上記よりも良い品質を期待しています。どうすれば入手できますか?
エンコーダーmpeg4
またはlibxvid
を使用してMPEG-4パート2ビデオにエンコードする場合は、-qscale:v
(またはエイリアス-q:v
)を使用します。
ffmpeg -i input -c:v libxvid -qscale:v 2 -c:a libmp3lame -ac 2 -q:a 4 output.avi
ビデオ品質の場合は-qscale:v
を調整し、オーディオ品質の場合は-q:a
(lame -V
と同様)を調整します。
値が小さいほど、両方のオプションの品質が高くなります。 -qscale:v 2
では、入力と出力の違いがわからない場合があります。
参照:
MPEG-4 Part2ビデオは古くなっています。より新しいフォーマットを使用すると、より低いビットレートでより良い品質が得られます。
ffmpeg
がlibx264/libx265をサポートしていると仮定した簡単な例(おそらくサポートしています):
ffmpeg -i input output.mp4
上記の例では、以下と同じデフォルト設定を使用します。
ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4
参照:
私自身アマチュアなので、Linuxではffmpeg -i video.MTS -acodec copy -vcodec rawvideo -y video.avi
を使用して生のビデオと元のオーディオデータを保持しています。フラグとオプションは
-i: input file
-acodec copy: copy audio codec
-vcodec rawvideo: keep raw data for video codec
-y: silently overwrite output files
1つのディレクトリにある一連の.mts
ファイルの場合は、
for f in *.MTS; do ffmpeg -i $f -acodec copy -vcodec rawvideo -y ${f%.*}.avi; done
これにより、ビデオの品質は維持されますが、非常に大きな.avi
ファイルが生成されます。