我正在尝试使用 avconv 降低一些原始视频的分辨率。输出必须保持相同的原始视频格式,因为在稍后阶段我需要将它加载到另一个非常挑剔且不接受任何其他类型输入的程序中。现在,我试过做
avconv -i myvideo.avi -s 88x72 -vcodec rawvideo myvideo-small.avi
这可以生成缩小的视频,但格式似乎不完全相同。avconv 表示读取输入是
Stream #0.0: Video: rawvideo, pal8, 352x288, 30 fps, 30 tbr, 30 tbn
而产生的输出是
Stream #0.0: Video: rawvideo, yuv420p, 88x72, q=2-31, 200 kb/s, 30 tbn, 30 tbc
尽管两者都是原始视频,但输入是“pal8”,输出是“yuv420p”。我不知道这两种格式之间的差异,但我需要我的输出保留与输入完全相同的格式。如何才能做到这一点?
在我看来,
avconv
目前只支持 pal8 输入。要检查您是否可以运行:我的输出是:
第一部分的传说是:
所以 pal8 可以读,但不能写。这意味着您无法主动将任何流编码为这种格式,如果您打算更改帧的大小,则需要这样做。
如果您发现除了 pal8 之外您的“挑剔”软件还可以接受另一种像素格式并且可以使用 编码
avconv
,您可以使用以下选项选择该特定格式-pix_fmt
: