2013-03-13 86 views
1

我想轉換一個視頻文件與1視頻流和幾個音頻流轉換爲具有相同的視頻流在不同比特率/尺寸的文件與正確的填充與此同時。ffmpeg transconding一個輸入視頻流和多個輸出視頻流在同一個文件

我用的命令是:

 
    ffmpeg -y -ss 600 -t 600 -i "INPUT.mkv" -map_chapters -1 -map 0:0 -c:v libx264 -keyint_min 48 -g 96 -bufsize 350k -b:v 350k -minrate 300k -maxrate 400k -profile:v baseline -level 3.0 -preset slow -vf "scale=iw*min(480/iw\,272/ih):ih*min(480/iw\,272/ih),pad=480:272:(480-iw)/2:(272-ih)/2" -map 0:0 -c:v libx264 -keyint_min 48 -g 96 -bufsize 650k -b:v 650k -minrate 500k -maxrate 800k -profile:v baseline -level 3.1 -preset slow -vf "scale=iw*min(640/iw\,360/ih):ih*min(640/iw\,360/ih),pad=640:360:(640-iw)/2:(360-ih)/2" -map 0:1 -c:a libfaac -b:a 32k -ar 44100 -f mpegts OUTPUT.m2ts 

的ffmpeg創建兩個視頻流,但比特率和分辨率爲所有的人都從最後的視頻參數取 - 即兩個流是640×360:

 
    Output #0, mpegts, to 'OUTPUT.m2ts': 
    Stream #0:0(eng): Video: h264, yuv420p, 640x360 [SAR 559:560 DAR 559:315], q=-1--1, 650 kb/s,  Stream #0:1(eng): Video: h264, yuv420p, 640x360 [SAR 559:560 DAR 559:315], q=-1--1, 650 kb/s, 90k tbn, 23.98 tbc (default) 
    Stream #0:2(rus): Audio: aac, 44100 Hz, 5.1, s16, 32 kb/s (default) 
    Stream mapping: 
    Stream #0:0 -> #0:0 (h264 -> libx264) 
    Stream #0:0 -> #0:1 (h264 -> libx264) 
    Stream #0:1 -> #0:2 (aac -> libfaac) 
    Press [q] to stop, [?] for help 

實際上是否可以對同一個文件進行多個比特率的轉碼?

回答

1

您正在映射您的輸入,但不是您的輸出。嘗試指定您的輸出比特率,如下所示:-b:v:0 350k-b:v:1 650k。其他流和像編解碼器這樣的變量也可以這樣定義。有關更多信息和示例,請參閱FFmpeg map wiki