avconvコマンドラインは、HDビデオをSDにダウンサンプリングするために使用されます。

avconvコマンドラインは、HDビデオをSDにダウンサンプリングするために使用されます。

次のコマンドを使用して、TVheadendで録画したHDビデオをSDサイズにダウンサンプリングしようとしています。

avconv -i infile.ts -map 0:v -map 0:a:0 -map 0:a:1 -c copy -c:v mpeg2video -r 25 -qscale:v 2 -s:v 720x576 -f mpeg outfile.mpeg

これまでavconvの出力はよさそうだ。

Input #0, mpegts, from 'infile.ts':
  Duration: 02:44:44.69, start: 68943.055278, bitrate: 7408 kb/s
  Program 9036 
    Metadata:
      service_provider: upc
    Stream #0.0[0x50]: Video: h264 (High), yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 100 tbc
    Stream #0.1[0x52](eng): Audio: mp2, 48000 Hz, stereo, s16p, 192 kb/s
    Stream #0.2[0x5b](ger): Audio: ac3, 48000 Hz, 5.1, fltp, 448 kb/s
  No Program
    Stream #0.3[0x6e]: Audio: mp1, 0 channels, s16p
[h264 @ 0x1bd9aa0] Ignoring NAL unit 9 during extradata parsing
[mpeg @ 0x1ab4d60] VBV buffer size not set, muxing may fail
Output #0, mpeg, to 'outfile.mpeg':
  Metadata:
    encoder         : Lavf54.20.4
    Stream #0.0: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 25 tbc
    Stream #0.1(eng): Audio: mp2, 48000 Hz, stereo, 192 kb/s
    Stream #0.2(ger): Audio: ac3, 48000 Hz, 5.1, 448 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> mpeg2video)
  Stream #0:1 -> #0:1 (copy)
  Stream #0:2 -> #0:2 (copy)
Press ctrl-c to stop encoding

そして品質も良いです。ただし、VLCで再生してオーディオチャンネルを変更しようとすると、トラックリストが増え続け、最初のトラックしか利用できないことがわかります。そして、コード情報に新しい行を永久に追加するリストが表示され、数秒後にすでにさまざまな形式(字幕、さまざまな形式のオーディオなど)の100以上のストリームが表示されます。 VLCコーデック情報ダイアログ

私がどこに間違っているのか知っている人はいますか?

バグのため、コンテナ形式が混乱していると言いたいのですが、別のバージョンで発生します。 Ubuntuでffmpegバージョン2.7.6-0ubuntu0.15.10.1とavconvバージョン9.18-6:9.18-0ubuntu0.14.04を試しました。 1信頼できます。巧妙に、ffmpegInvalid UE golomb codeは約25フレームごとに追加で印刷します。

修正する:

以下は、テスト用の入力ファイルの簡単なシーケンスです。内部 file.ts

ベストアンサー1

最新のオプションを使用してより簡単なコマンドを試してください。

ffmpeg -i infile.ts -map v -map a -c:a copy -c:v libx264 -crf 18 -s 768x432 outfile.mkv

おすすめ記事