我试着用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尽管两者都是rawvideo,但是输入是"pal8“,输出是"yuv420p”。我不知道这两种格式之间的区别,但我需要输出来保留与输入完全相同的格式。这是如何做到的呢?
发布于 2014-12-14 17:29:38
在我看来,avconv此时只支持输入的pal8。若要检查是否可以运行:
$ avconv -pix_fmts |grep pal8我的产出是:
avconv version v12_dev0-498-g2e09359, Copyright (c) 2000-2014 the Libav developers
built on Dec 5 2014 09:32:02 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
I..P. pal8 1 8第一部分的传说是:
I.... = Supported Input format for conversion
.O... = Supported Output format for conversion
..H.. = Hardware accelerated format
...P. = Paletted format
....B = Bitstream format所以pal8可以读,但不能写。这意味着您无法主动地将任何流编码成这种格式,如果要更改帧的大小,则需要这样做。
如果您将找到“挑剔”软件除pal8之外还可以接受的另一种像素格式,并且可以使用avconv进行编码,则可以使用-pix_fmt选项选择该特定格式:
avconv -i in.avi -s 88x72 -pix_fmt FORMAT -c:v rawvideo out.avihttps://askubuntu.com/questions/561255
复制相似问题