首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ffmpeg使用isight录制视频

使用ffmpeg使用isight录制视频
EN

Stack Overflow用户
提问于 2013-09-24 03:13:43
回答 3查看 10.6K关注 0票数 13

因此,要在linux上使用ffmpeg录制网络摄像头视频,您可以使用以下内容...

代码语言:javascript
复制
ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 out.avi

但在mac上这不起作用,所以我想知道如何在mac上使用isight和ffmpeg进行录制?

我已经研究过了,很多人说这是不可能的,但这些帖子中的大多数都很老了,所以我想知道它是不是从那以后就改变了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-23 00:59:56

更新:当前(2014年8月)版本的ffmpeg支持QTKit和AVKit框架:

代码语言:javascript
复制
ffmpeg -f qtkit -video_device_index 0 -i "" out.mpg

代码语言:javascript
复制
ffmpeg -f qtkit -i "default" out.mpg

您还可以获取可用设备的列表:

代码语言:javascript
复制
ffmpeg -f qtkit -list_devices true -i ""

老生常谈:

我用QuickTime广播解决了这个问题。它是一个小工具,它捕获视频和音频,对其进行压缩,将压缩后的流打包成rtp数据包,并将其传输到网络上。

因此,解决方法相当繁琐,需要双重编码,但它是有效的:

在QuickTime Broadcaster的AudioVideo选项卡中,

  • 转到Network选项卡中的

  • 设置流,将文件设置为“手动单播”,将代码设置为"127.0.0.1",< Transmission >d12Address >设置为类似于"6000,Untitled.qtbr)

  • Export SDP Network:<Transmission>d18Address>的内容。SDP是“会话描述协议”的缩写,它包含了在哪里可以找到流,它的参数和编解码器选项等信息。

  • 现在你可以从命令行启动/停止QTB:

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套接字“。

代码语言:javascript
复制
ffmpeg -i stream.sdp -vcodec mjpeg -an -vf vflip -y /tmp/q.avi

或将其传输到ffserver:

代码语言:javascript
复制
ffmpeg -i stream.sdp http://localhost:1881/feed1.ffm

将iSight支持添加到ffmpeg/libavdevice是相当困难的。iSight有基于对象的应用程序接口(QTKit),它必须包装在C静态库中,而且ffmpeg必须与所有OS X特定的框架链接-这是可行的,但需要相当多的工作。

票数 20
EN

Stack Overflow用户

发布于 2014-07-22 01:27:24

使用最新的ffmpeg,您可以将带麦克风音频的iSight视频录制到文件中:

代码语言:javascript
复制
# 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

票数 10
EN

Stack Overflow用户

发布于 2013-10-21 07:18:05

在Linux上'ffmpeg‘使用'video4linux2’捕获API,在Windows上有一个叫做‘ffmpeg’的版本。不幸的是,还没有人为Mac开发出一个版本。

幸运的是,您仍然可以使用此免费软件从命令行录制iSight摄像头的视频:

下面是它的用法示例。

  • 步骤1) 查看当前存在的视频硬件

wacaw -L

  • 第2步) Capture您的视频到文件。在我的MacBook上,它将我的内置iSight摄像头报告为ID为“2”的USB设备,输入ID为“0”。下面是我的MacBook的外观。对于您的计算机,'video-device‘可能有所不同,您也可以省略'--video-input 0’部分:

警告--视频--视频设备2--视频-输入0--时长3 --VGA ~/我的电影

希望这能有所帮助!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18966994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档