web-dev-qa-db-ja.com

.tsファイルをロスレスでメインストリーム形式に変換する方法は?

.tsで終わるファイルがあります(例: 最初の10 MB )。私はそれをよりメインのストリーム形式(例:mp4、MPEG2-PS ...)に変換し、可能な場合はロスレスで(つまり、再多重化)したいと思います。

。tsファイルを有用なものに変換するにはどうすればよいですか? の質問を読みました。ビデオおよびオーディオストリームの設定「コピー」、およびMPEGの「PS」コンテナ形式でavidemuxを試しました。 「互換性のないオーディオ/ DVDの場合、オーディオは48 kHz MP2(ステレオ)、AC3、DTSまたはLPCM(ステレオ)でなければなりません」というエラーメッセージで失敗しました。

提案されたCLIコマンドも試しました。

avconv -i 10MB.ts -vcodec copy -acodec copy 10MB.mpg

少なくともVLCで再生した場合、出力ファイルには適切なビデオがありますが、音声はありません。 avconvがオーディオストリームを正しく検出したように見えるため、これは非常に不可解です。

Input #0, mpegts, from '10MB.ts':
  Duration: 00:00:06.36, start: 51523.824800, bitrate: 12563 kb/s
  Program 37888 
    Stream #0.0[0x100]: Video: mpeg2video (Main), yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], 20000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0.1[0x110]: Audio: aac, 0 channels, fltp, 144 kb/s
    Stream #0.2[0x130]: Data: [6][0][0][0] / 0x0006
    Stream #0.3[0x138]: Data: [6][0][0][0] / 0x0006
    Stream #0.4[0x140]: Data: [13][0][0][0] / 0x000D
    Stream #0.5[0x160]: Data: [13][0][0][0] / 0x000D
    Stream #0.6[0x161]: Data: [13][0][0][0] / 0x000D
    Stream #0.7[0x162]: Data: [13][0][0][0] / 0x000D
    Stream #0.8[0x170]: Data: [13][0][0][0] / 0x000D
    Stream #0.9[0x171]: Data: [13][0][0][0] / 0x000D
    Stream #0.10[0x172]: Data: [13][0][0][0] / 0x000D
Output #0, mpeg, to '10MB.mpg':
  Metadata:
    encoder         : Lavf54.20.4
    Stream #0.0: Video: mpeg2video, yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], q=2-31, 20000 kb/s, 90k tbn, 90k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)

別の質問 のコメントで提案されているCLIコマンドも試しました。

avconv -i 10MB.ts -c:v copy -c:a libfaac 10MB.mp4

繰り返しますが、出力ファイルには音がありません。

編集:@Danielが示唆するようにVLCを試しました。ほぼ完璧でした。それは高速でユーザーフレンドリーでした。 「変換/保存」をクリックし、入力ファイルを追加し、MP4プロファイルを選択し、ビデオコーデックとオーディオコーデックを「元のビデオ/オーディオトラックを保持する」に設定し、宛先ファイルを選択し、「開始」をクリックするだけでした。ビデオは完璧に見えましたが、オーディオは何らかの形でわずかに破損していましたが、ビデオのオーディオストリームに異常な何かが含まれている可能性があります。

10
lacton

マトロスカ(MKV)

ストリームコピー (re-mux)すべてのストリーム:

ffmpeg -i input -map 0 -c copy output.mkv

-map 0オプションは、すべてのストリームを含めるために使用されます。それ以外の場合は、デフォルトの ストリーム選択 動作を使用します。これにより、選択されるストリームタイプごとに1つのストリームのみが生成されます。 Matroskaはほとんどの任意のストリームを処理できるため、-map 0を含めました。

MP4

これにより、ビデオがH.264に再エンコードされ、オーディオがストリームコピーされます。

ffmpeg -i input.ts -c:v libx264 -c:a copy output.mp4

次の例では、ビデオとオーディオの両方を再エンコードします。

ffmpeg -i input.ts -c:v libx264 -c:a aac output.mp4

ロスレスH.264の例:

ffmpeg -i input.ts -c:v libx264 -crf 0 -c:a copy output.mp4

ロスレスファイルは巨大になります。

詳細については、 FFmpeg Wiki:H.264 を参照してください。

13
llogan

VideoLAN(VLC- http://www.videolan.org/vlc/index.html )は、あらゆるものを簡単にあらゆるものに変換します。

試してみます。 Linux、Windows、およびMac OS Xで実行され、非常に使いやすいインターフェイスを備えています。

3
Daniel