首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不调整dvd格式的视频大小

不调整dvd格式的视频大小
EN

Stack Overflow用户
提问于 2016-03-11 15:16:19
回答 2查看 344关注 0票数 0

我有一个视频和一个音频文件。我正试着加入他们的行列,把一段视频切成一片,它起作用了:

代码语言:javascript
复制
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过滤器调整视频大小时,例如:

代码语言:javascript
复制
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。如果我删除这个论点,视频调整大小,但不能保持我想要的质量。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-11 17:27:36

-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并使用您自己的大小。

票数 1
EN

Stack Overflow用户

发布于 2016-03-11 17:34:20

我不知道为什么要将大小调整到1024x420,然后使用-target pal-dvd,但是这个选项意味着其他选项。来自ffmpeg_opt.c

代码语言:javascript
复制
} 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,手动声明每个选项并将其修改到所需的规范。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35943741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档