[英]How to record video and audio from webcam using ffmpeg?
I want to record video as well as audio from webcam using ffmpeg,我想使用 ffmpeg 从网络摄像头录制视频和音频,
I have used the following codes to know what devices are available:我使用以下代码来了解可用的设备:
ffmpeg -list_devices true -f dshow -i dummy
And got the result:并得到结果:
ffmpeg version N-54082-g96b33dd Copyright (c) 2000-2013 the FFmpeg developers
built on Jun 17 2013 02:05:16 with gcc 4.7.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --
enable-libxvid --enable-zlib
libavutil 52. 37.101 / 52. 37.101
libavcodec 55. 16.100 / 55. 16.100
libavformat 55. 8.103 / 55. 8.103
libavdevice 55. 2.100 / 55. 2.100
libavfilter 3. 77.101 / 3. 77.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
[dshow @ 024eb460] DirectShow video devices
[dshow @ 024eb460] "Sirius USB2.0 Camera"
[dshow @ 024eb460] "Vimicro USB Camera (Altair)"
[dshow @ 024eb460] DirectShow audio devices
[dshow @ 024eb460] "Microphone (Realtek High Defini"
dummy: Immediate exit requested
I am using the following codes to get more details about the device:我正在使用以下代码来获取有关该设备的更多详细信息:
ffmpeg -f dshow -list_options true -i video="Vimicro USB Camera (Altair)"
And i am getting the following results:我得到以下结果:
ffmpeg version N-54082-g96b33dd Copyright (c) 2000-2013 the FFmpeg developers
built on Jun 17 2013 02:05:16 with gcc 4.7.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --
enable-libxvid --enable-zlib
libavutil 52. 37.101 / 52. 37.101
libavcodec 55. 16.100 / 55. 16.100
libavformat 55. 8.103 / 55. 8.103
libavdevice 55. 2.100 / 55. 2.100
libavfilter 3. 77.101 / 3. 77.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
[dshow @ 0249b3e0] DirectShow video device options
[dshow @ 0249b3e0] Pin "Capture"
[dshow @ 0249b3e0] pixel_format=yuyv422 min s=640x480 fps=30 max s=640x480 fp
s=30
[dshow @ 0249b3e0] pixel_format=yuyv422 min s=640x480 fps=30 max s=640x480 fp
s=30
[dshow @ 0249b3e0] pixel_format=yuyv422 min s=352x288 fps=30 max s=352x288 fp
s=30
[dshow @ 0249b3e0] pixel_format=yuyv422 min s=352x288 fps=30 max s=352x288 fp
s=30
[dshow @ 0249b3e0] pixel_format=yuyv422 min s=320x240 fps=30 max s=320x240 fp
s=30
[dshow @ 0249b3e0] pixel_format=yuyv422 min s=320x240 fps=30 max s=320x240 fp
s=30
[dshow @ 0249b3e0] pixel_format=yuyv422 min s=176x144 fps=30 max s=176x144 fp
s=30
[dshow @ 0249b3e0] pixel_format=yuyv422 min s=176x144 fps=30 max s=176x144 fp
s=30
[dshow @ 0249b3e0] pixel_format=yuyv422 min s=160x120 fps=30 max s=160x120 fp
s=30
[dshow @ 0249b3e0] pixel_format=yuyv422 min s=160x120 fps=30 max s=160x120 fp
s=30
video=Vimicro USB Camera (Altair): Immediate exit requested
When i am trying following codes to get video and audio stream:当我尝试使用以下代码获取视频和音频时 stream:
ffmpeg -f dshow -s 320x240 -r 30 -vcodec mjpeg -i video="Vimicro USB Camera (Altair)" e:\output.mp4
I am getting an error message as " Could not set video options video=Vimicro USB Camera (Altair): Input/output error "我收到一条错误消息“无法设置视频选项视频=Vimicro USB 相机(Altair):输入/输出错误”
Following are the error details:以下是错误详细信息:
ffmpeg version N-54082-g96b33dd Copyright (c) 2000-2013 the FFmpeg developers
built on Jun 17 2013 02:05:16 with gcc 4.7.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --
enable-libxvid --enable-zlib
libavutil 52. 37.101 / 52. 37.101
libavcodec 55. 16.100 / 55. 16.100
libavformat 55. 8.103 / 55. 8.103
libavdevice 55. 2.100 / 55. 2.100
libavfilter 3. 77.101 / 3. 77.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
[dshow @ 002f78e0] Could not set video options
video=Vimicro USB Camera (Altair): Input/output error
And i am unable to find where i am doing wrong.而且我无法找到我做错的地方。
So if anybody can find where i am doing wrong or how to record video as well as audio from webcam using ffmpeg please help me to solve this problem.因此,如果有人能找到我做错的地方或如何使用 ffmpeg 从网络摄像头录制视频和音频,请帮助我解决这个问题。
Try this command: ffmpeg -y -f dshow -i video="Vimicro USB Camera (Altair)":audio="Vimicro USB Camera (Altair)" out.mp4
试试这个命令:
ffmpeg -y -f dshow -i video="Vimicro USB Camera (Altair)":audio="Vimicro USB Camera (Altair)" out.mp4
For more detail please check: https://trac.ffmpeg.org/wiki/DirectShow更多详情请查看: https://trac.ffmpeg.org/wiki/DirectShow
PS.附言。 FFmpeg has changed a lot, now my version is
5.1.2
FFmpeg 变化很大,现在我的版本是
5.1.2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.