2017-04-24 11 views
0

ビデオのトランスコード中に、どのビデオコーデックを使用してビデオをデコードしてトランスコードするかを知ることができます。ffmpegを使用してビデオのトランスコードに使用されたコーデック

たとえば、私が行うときffmpeg -i input.mp4 output.avi

どのコーデックが入力ファイルのデコードに使用され、出力にエンコードされているかをどのように知ることができますか?

答えて

2

@Koby Douekの答えはここに適用されていません。

MediaInfoをしてffprobeは、ビットストリーム構文を示しますが、OPのQに答えるために:「?はどのようにして、入力ファイルをデコードして出力にエンコードするために使用される場所をどのコーデックを知ることができ」、1は

ffmpeg -i input.mp4 output.avi 2>&1 | sed -n "/Stream mapping/,/Press/p" 
を実行することができますその出力

Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264)) 
    Stream #0:0 -> #0:1 (aac (native) -> aac (native)) 
Press [q] to stop, [?] for help 

ようになる

これは、マッピングされた第一の出力ストリームは、タイプ264で、第2の入力ストリームであり、ffmpegのネイティブのH.264デコーダを用いて復号することを私たちに通知します。このストリームは、libx264エンコーダを使用してH.264にエンコードされました。

実際に変換を実行しますが、処理の開始直前にマッピング情報が表示されるため、コマンドを中止するか、-reportを追加してログをファイルにリダイレクトし、そのファイルを解析します。

1

あなたはmediainfoをお持ちの場合:

mediainfo --Inform="Video;%Codec%" output.avi 

ない場合は、ffprobeを使用すること(ffmpegインストールが付属しています):

ffprobe -v error -select_streams v:0 -show_entries stream=codec_name \ -of default=noprint_wrappers=1:nokey=1 output.avi 
関連する問題