因此,要在linux上使用ffmpeg录制网络摄像头视频,您可以使用以下内容...
ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 out.avi但在mac上这不起作用,所以我想知道如何在mac上使用isight和ffmpeg进行录制?
我已经研究过了,很多人说这是不可能的,但这些帖子中的大多数都很老了,所以我想知道它是不是从那以后就改变了。
发布于 2013-10-23 00:59:56
更新:当前(2014年8月)版本的ffmpeg支持QTKit和AVKit框架:
ffmpeg -f qtkit -video_device_index 0 -i "" out.mpg或
ffmpeg -f qtkit -i "default" out.mpg您还可以获取可用设备的列表:
ffmpeg -f qtkit -list_devices true -i ""老生常谈:
我用QuickTime广播解决了这个问题。它是一个小工具,它捕获视频和音频,对其进行压缩,将压缩后的流打包成rtp数据包,并将其传输到网络上。
因此,解决方法相当繁琐,需要双重编码,但它是有效的:
在QuickTime Broadcaster的Audio和Video选项卡中,
Network选项卡中的
Transmission >d12Address >设置为类似于"6000,Untitled.qtbr)
Network:<Transmission>d18Address>的内容。SDP是“会话描述协议”的缩写,它包含了在哪里可以找到流,它的参数和编解码器选项等信息。
osascript -e‘告诉应用程序"QuickTime Broadcaster“启动文档"Untitled.qtbr"’osascript -e‘告诉应用程序"QuickTime Broadcaster”停止文档osascript
启动QTB后,ffmpeg将能够使用您在步骤4中导出的sdp文件读取压缩流(实际上,您可以在VLC或QuickTime player:open -a vlc stream.sdp中打开它)。
因此,QTB充当“捕获代理”,将其转换为"iSight-to-UDP套接字“。
ffmpeg -i stream.sdp -vcodec mjpeg -an -vf vflip -y /tmp/q.avi或将其传输到ffserver:
ffmpeg -i stream.sdp http://localhost:1881/feed1.ffm将iSight支持添加到ffmpeg/libavdevice是相当困难的。iSight有基于对象的应用程序接口(QTKit),它必须包装在C静态库中,而且ffmpeg必须与所有OS X特定的框架链接-这是可行的,但需要相当多的工作。
发布于 2014-07-22 01:27:24
使用最新的ffmpeg,您可以将带麦克风音频的iSight视频录制到文件中:
# List available AVFoundation input devices:
ffmpeg -f avfoundation -list_devices true -i ""
# Record video at 30 fps from device 0:
ffmpeg -r 30 -f avfoundation -i 0 out.mp4
# Record from video device 0 and audio device 0:
ffmpeg -r 30 -f avfoundation -i 0:0 out.mp4在写这篇文章的时候,当用音频录制视频时,你仍然会遇到AVFoundation sync problems。
发布于 2013-10-21 07:18:05
在Linux上'ffmpeg‘使用'video4linux2’捕获API,在Windows上有一个叫做‘ffmpeg’的版本。不幸的是,还没有人为Mac开发出一个版本。
幸运的是,您仍然可以使用此免费软件从命令行录制iSight摄像头的视频:
下面是它的用法示例。
wacaw -L
警告--视频--视频设备2--视频-输入0--时长3 --VGA ~/我的电影
希望这能有所帮助!
https://stackoverflow.com/questions/18966994
复制相似问题