2016-03-11 54 views
0

我有一個視頻和一個音頻文件。我想加入他們,切一塊顯卡,它的工作:ffmpeg不調整DVD格式的視頻格式

ffmpeg -ss 0:0:1.950 -i "video.avi" -ss 0:0:1.950 -i "audio.mp3" -target pal-dvd -bufsize 9175040 -muxrate 50400000 -acodec ac3 -ac 2 -ab 128k -ar 44100 -t 0:0:5.997 -y "output.mpg" 

問題是,當我嘗試使用-vf過濾器,例如調整視頻:

ffmpeg -ss 0:0:1.950 -i "video.avi" -ss 0:0:1.950 -i "audio.mp3" -vf scale="1024:420" -target pal-dvd -bufsize 9175040 -muxrate 50400000 -acodec ac3 -ac 2 -ab 128k -ar 44100 -t 0:0:5.997 -y "output.mpg" 

它不因爲參數:-target pal-dvd。如果我刪除這個參數,視頻會調整大小,但不會保持我想要的質量。

回答

1

-target pal-dvd等於-c:v mpeg2video -c:a ac3 -f dvd -s 720x576 -r 25 -pix_fmt yuv420p -g 15 -b:v 6000000 -maxrate:v 9000000 -minrate:v 0 -bufsize:v 1835008 -packetsize 2048 -muxrate 10080000 -b:a 448000 -ar 48000。您的其他選項會覆蓋這些默認設置,因此您可以直接使用這些選項並刪除-s 720x576並使用您自己的尺寸。

+0

它工作perfetcly,謝謝。 –

0

我不確定爲什麼要調整到1024x420,然後使用-target pal-dvd,但此選項意味着其他選項。從ffmpeg_opt.c

} else if (!strcmp(arg, "dvd")) { 

    opt_video_codec(o, "c:v", "mpeg2video"); 
    opt_audio_codec(o, "c:a", "ac3"); 
    parse_option(o, "f", "dvd", options); 

    parse_option(o, "s", norm == PAL ? "720x576" : "720x480", options); 
    parse_option(o, "r", frame_rates[norm], options); 
    parse_option(o, "pix_fmt", "yuv420p", options); 
    opt_default(NULL, "g", norm == PAL ? "15" : "18"); 

    opt_default(NULL, "b:v", "6000000"); 
    opt_default(NULL, "maxrate:v", "9000000"); 
    opt_default(NULL, "minrate:v", "0"); // 1500000; 
    opt_default(NULL, "bufsize:v", "1835008"); // 224*1024*8; 

    opt_default(NULL, "packetsize", "2048"); // from www.mpucoder.com: DVD sectors contain 2048 bytes of data, this is also the size of one pack. 
    opt_default(NULL, "muxrate", "10080000"); // from mplex project: data_rate = 1260000. mux_rate = data_rate * 8 

    opt_default(NULL, "b:a", "448000"); 
    parse_option(o, "ar", "48000", options); 

此外,選項安置事宜。如果您要調整的使用-target,然後在-target後放置篩選。請注意,這可能會調整兩次。

或省略-target並手動聲明每個選項並將其修改爲您所需的規格。