孙悟空 发表于 2014-12-2 11:10:57

OSX下面抓取桌面以及摄像头推流进行直播

首先查看ffmpeg是否支持对应的设备,在OSX下面,Video和Audio设备使用的是avfoundation,所以可以使用avfoundation来查看


$ ./ffmpeg -f avfoundation -list_devices true -i ""
ffmpeg version N-68139-g24e7e02 Copyright (c) 2000-2014 the FFmpeg developers
built on Dec2 2014 09:46:29 with Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
configuration: --enable-opengl --enable-libx265 --enable-libx264 --enable-libmp3lame --enable-gpl --enable-libfaac --enable-nonfree --prefix=/usr/ --enable-libfreetype --enable-libass
libavutil      54. 15.100 / 54. 15.100
libavcodec   56. 13.100 / 56. 13.100
libavformat    56. 15.101 / 56. 15.101
libavdevice    56.3.100 / 56.3.100
libavfilter   5.2.103 /5.2.103
libswscale      3.1.101 /3.1.101
libswresample   1.1.100 /1.1.100
libpostproc    53.3.100 / 53.3.100
AVFoundation video devices:
bbs.chinaffmpeg.com 孙悟空 FaceTime HD Camera (Built-in)
Capture screen 0
AVFoundation audio devices:
Built-in Microphone
: Input/output error
$


通过输出内容可以看到,video部分支持的时两个设备

bbs.chinaffmpeg.com 孙悟空 FaceTime HD Camera (Built-in)
Capture screen 0
音频部分支持的是一个设备
Built-in Microphone

如果希望将桌面录制或者分享,可以使用命令行如下:

./ffmpeg -f avfoundation -i "1" -vcodec libx264 -preset ultrafast -acodec libfaac -f flv rtmp://ble.ossrs.net/live/xxxx
这个只能够推桌面

如果需要桌面+麦克风,比如一般做远程教育分享ppt或者桌面,有音频讲解,命令行如下:

./ffmpeg -f avfoundation -i "1:0" -vcodec libx264 -preset ultrafast -acodec libfaac -f flv rtmp://ble.ossrs.net/live/xxxx
这个可以推桌面+麦克风


如果需要桌面+麦克风,并且还要摄像头拍摄到自己,比如一般用于互动主播,游戏主播,命令行如下

./ffmpeg -f avfoundation -i "1:0" -f avfoundation -i "0" -filter_complex 'overlay=10:main_h-overlay_h-10' -vcodec libx264 -b:v 800k -r:v 25 -s 480x320 -preset ultrafast -acodec libfaac -f flv rtmp://ble.ossrs.net/live/xxxxx
这个可以推桌面+麦克风,并且摄像头把人头放在界面下面

下面来个截图
file:///Users/StevenLiu/Library/Containers/com.evernote.Evernote/Data/Library/Application%20Support/Evernote/accounts/Evernote-China/t-bagwell/content/p77/098f2c6fe7aef979593f7ad2ca4133fa.jpeg



link 发表于 2014-12-2 11:23:32

:$:$:$:$:$:$:$

c_c 发表于 2014-12-2 11:27:26

:handshake

CALM 发表于 2017-7-28 21:42:21

桌面+麦克风的那个命令,执行后报以下错误:
Unknown encoder 'libfaac'
这是为什么呀?

孙悟空 发表于 2017-7-29 12:37:48

CALM 发表于 2017-7-28 21:42
桌面+麦克风的那个命令,执行后报以下错误:
Unknown encoder 'libfaac'
这是为什么呀? ...

新版本的ffmpeg已经移除了libfaac,可以使用ffmpeg内置的aac,或者使用fdkaac
页: [1]
查看完整版本: OSX下面抓取桌面以及摄像头推流进行直播