我正在创建一个脚本来从网络上提取视频,创建第一帧的图像,并将图像保存为文件。我的脚本正在处理抓取大量视频并为文件名提供序列号。
我的问题是使用 VLC 抓取视频并实际保存文件。在我将它放入我的脚本之前尝试使用命令行和一个本地文件,我已经尝试过:
vlc -vvv -I dummy --video-filter=scene --start-time=1 --stop-time=1 --scene-format=jpeg --scene-ratio=24 --scene-prefix=EXEC samp.mp4 vlc://quit
-> 未捕获的异常
vlc -vvv -I dummy --no-audio --video-filter=scene --start-time=1 --stop-time=1 --scene-format=jpeg --scene-ratio=24 --scene-prefix=EXEC samp.mp4 vlc://quit
-> 未捕获的异常
vlc -vvv -I rc --video-filter=scene --start-time=1 --stop-time=1 --scene-format=jpeg --scene-ratio=24 --scene-prefix=EXEC samp.mp4 vlc://quit
-> 未捕获的异常;看起来我不能没有 -V 选项
vlc -vvv -I rc -V snapshot --video-filter=scene --start-time=1 --stop-time=1 --scene-format=jpeg --scene-ratio=24 --scene-prefix=EXEC samp.mp4 vlc://quit
-> 没有匹配“快照”的 vout 显示模块;类似地尝试使用模块“image”、“scene”、“opengl”
我在 Mac OS X 10.7.3 上运行 VLC 2.0.1。有没有人让 VLC 在命令行上工作(所以它是可编写脚本的)来从视频中捕获图像?
顺便说一句,我已经对此进行了广泛的谷歌搜索 - VLC 文档已经过时了,而且网络上的大多数建议实际上都不适用于最新版本的 VLC。
最佳答案
另一种方法是使用 ffmpeg - 这对我有用:
ffmpeg -i http://example.com/directory/video.mp4 -ss 0 -vframes 1 -vcodec mjpeg -f image2 keyframe001.jpg
关于macos - 编写 VLC 脚本以捕获视频的第一帧 - 无法让命令行工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10030863/