带有网络摄像头输入和立体输出的ffmpeg

时间:2018-10-14 01:33:37

标签: ffmpeg stereo-3d

我想从网络摄像头获取视频,并使用ffmpeg将其(实时)输出为立体视频。我正在Windows中进行测试,但最终我打算使用Linux。到目前为止,这是我的技巧...

ffmpeg -f dshow -i video="Integrated Webcam" stereo3d=al:sbsl Desktop\test.mpg

在这一点上,我只是试图流式传输到文件。了解过滤器的工作原理之后,我将弄清楚如何流式传输到显示器。不幸的是,这不起作用。

ffmpeg version N-88193-g5834cba05e Copyright (c) 2000-2017 the FFmpeg developers built with gcc 7.2.0 (GCC) configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx libavutil 56. 0.100 / 56. 0.100 libavcodec 58. 0.101 / 58. 0.101 libavformat 58. 0.101 / 58. 0.101 libavdevice 58. 0.100 / 58. 0.100 libavfilter 7. 0.100 / 7. 0.100 libswscale 5. 0.100 / 5. 0.100 libswresample 3. 0.100 / 3. 0.100 libpostproc 55. 0.100 / 55. 0.100 Input #0, dshow, from 'video=Integrated Webcam': Duration: N/A, start: 341189.309000, bitrate: N/A Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 30 fps, 30 tbr, 10000k tbn, 10000k tbc [NULL @ 000001667e3ee5e0] Unable to find a suitable output format for 'stereo3d=al:sbsl' stereo3d=al:sbsl: Invalid argument

没有stereo3d过滤器,我可以流传输视频而没有任何问题。我正在尝试使用stereo3d来抓取其他所有帧,并将其并排放置。 (最终,我想弄清楚如何使输出失真以与Google Cardboard一起使用...一次只能一个步骤。)

所以,问题是这样的:我的stereo3d过滤器出了什么问题?根据文档,它应该可以正常工作...

1 个答案:

答案 0 :(得分:2)

使用

ffmpeg -f dshow -i video="Integrated Webcam" -vf stereo3d=al:sbsl Desktop\test.mpg

stereo3d是一个过滤器,因此作为参数添加到简单过滤器规范(-filter:v或其旧形式-vf)或复杂的过滤器规范(-filter_complex )。根据您的外壳,最好也将参数用引号引起来。