我需要完成这样的事情:
foo.user$ ffmpeg -i -y foo.mediafile -ss 0 -vframes 1 -an out.jpg | gm identify out.jpg
基本上,它需要使用 ffmpeg 制作视频帧或静止图像的缩略图,然后在其上运行 gm。我如何直接将缩略图(或不是缩略图,它需要相同大小)通过管道传输到 gm 而不必写入 out.jpg。任何熟悉 ffmpeg piping/gm 的人都可以帮我一下吗? -谢谢!!
附言如果有帮助,这个过程是从服务器端 Javascript 运行的。
最佳答案
自己回答:
ffmpeg -i test.jpg -f mjpeg -ss 0 -vframes 1 -an - 2>/dev/null | gm identify -ping -verbose -
这适用于获取 test.jpg(或其他一些文件,.ogv、.png 等)并使用 ffmpeg 对其进行处理,然后将其运行到 gm 中。重要的是破折号,它们充当匿名管道输出。同样重要的是 -f mjpeg,强制将管道转换为 jpeg 格式。最后,2>/dev/null 使第一个命令静音。
关于javascript - 将 FFMPEG 导入 Graphics Magick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6847186/