Sony HD Camの.MTSビデオを.MKVに変換したい。私はffmpegを使用していますが、正常に動作します。しかし、MTSをmkvに変換すると失われるため、字幕に問題があります(この場合、字幕は日時です)。
私はこのコマンドを使用します:
ffmpeg -i 00235.MTS -scodec copy -acodec copy -vcodec copy -f matroska OUTPUT.mkv
これは出力です:
ffmpeg version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
built on Apr 2 2013 17:02:36 with gcc 4.6.3
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
Input #0, mpegts, from '00235.MTS':
Duration: 00:00:22.07, start: 1.000011, bitrate: 26285 kb/s
Program 1
Stream #0.0[0x1011]: Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 100 tbc
Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
Stream #0.2[0x1200]: Data: [144][0][0][0] / 0x0090
Output #0, matroska, to 'OUTPUT.mkv':
Metadata:
encoder : Lavf53.21.1
Stream #0.0: Video: H264 / 0x34363248, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], q=2-31, 1k tbn, 50 tbc
Stream #0.1: Audio: ac3, 48000 Hz, 5.1, 448 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press ctrl-c to stop encoding
frame= 1104 fps= 0 q=-1.0 Lsize= 67284kB time=22.08 bitrate=24963.2kbits/s
video:66061kB audio:1208kB global headers:0kB muxing overhead 0.023045%
Stream #0.2[0x1200]
はサブタイトルですが、最終的にはMKVには入れられません。
誰かが私を助けてくれることを願っています。
stream copy with -codec copy
。これにより、指定されたストリームのデコードとエンコードのステップが回避されるため、デマルチプレクサーとマルチプレクサーのみが実行されます。これは、出力コンテナー形式を変更したり、コンテナーレベルのメタデータを操作または追加する場合に役立ちます。ストリームコピーの実行は再エンコードよりも高速であり、品質の低下は発生しません。
デフォルトの動作では、入力ごとに1つのストリームタイプしか選択されないため、-map 0
には、最初の入力のすべてのストリームが含まれます。上記の質問のように、入力に1つのストリームタイプしかない場合、-map 0
は不要ですが、そのままにしておいても問題ありません。 ストリーム選択 および -map
オプション 詳細.
例:
$ ffmpeg -i input.MTS -codec copy -map 0 output.mkv
ディレクトリ内のすべてのビデオをエンコードする場合、bash forループを使用する例:
$ mkdir outputdir
$ for f in *.MTS; do ffmpeg -i "$f" -codec copy -map 0 outputdir/"${f%.MTS}.mkv"; done