macos - 编写 VLC 脚本以捕获视频的第一帧 - 无法让命令行工作

标签 macos perl command-line vlc

我正在创建一个脚本来从网络上提取视频,创建第一帧的图像,并将图像保存为文件。我的脚本正在处理抓取大量视频并为文件名提供序列号。

我的问题是使用 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/

相关文章:

objective-c - 通过在 Lion 中拖动来重新排列表格行

C++ 多重继承和 Objective-C。这是 GCC 中的错误吗?

interrupt - 如何知道接收到信号时正在执行哪一行代码

Javascript 作为命令行可调用脚本语言

ios - NSArray 包含两个元素,但 myArray[0] 为 nil?

macos - 如何在 Mac 上的 $PATH 中添加/usr/local/bin

perl - 在 Perl 中,如何获取当前执行代码的目录或路径?

linux - 将 cURL POST 转换为 Perl POST

c++ - 如何查找是否以及不带括号的语句?

visual-studio-2008 - 如何从命令行从Visual Studio解决方案获取最新信息?