我知道我可以使用以下参数转换存储在硬盘上的图像数组(如果编号正确):
-f image2 -r 10 -i h:\\streamin\\%05d.jpg -crf 23 -y -r 10 -f ogg -
ffmpeg 中是否有规定可以更改此位:
h:\\streamin\\%05d.jpg
把图像流存储为内存流行不行?
即:stdin ='图像的内存流'
答案1
如果您输入的图像都是 JPEG,一个接一个,但是您没有要读取的模式,则需要mjpeg
解复用器:
ffmpeg -f mjpeg -i - -r 10 -c:v libtheora -q:v 7 -f ogg -
这假设您输入到 ffmpeg 的内容就是 ffmpeg 将输出的内容mjpeg
。如果这不起作用(抱歉,目前无法尝试),您还可以尝试:
ffmpeg -f rawvideo -c:v mjpeg -i - …
重要的: ogg
作为输出格式,没有其他选项,意味着 libtheora 作为编码器,它没有选项-crf
。libtheora 使用-q:v
0-10 的范围,其中 10 是最高质量的。7 应该是一个不错的值。如果您不使用,-q:v
它将回落到 200 kbit/s,这会导致质量不佳。