gpt4 book ai didi

ffmpeg - 通过 UTP 上的 USB 使用 FFmpeg 进行网络摄像头录制

转载 作者:行者123 更新时间:2023-12-04 23:19:41 27 4
gpt4 key购买 nike

我正在尝试使用 FFmpeg 录制我的网络摄像头。
我用这一行列出了设备:

ffmpeg -list_devices true -f dshow -i dummy
我用这个测试设置:
ffplay -loglevel verbose -f dshow -rtbufsize 100M -video_size 1280x720 -framerate 60 -video_device_number 0 -audio_device_number 0 -i video="C922 Pro Stream Webcam":audio="Microphone (C922 Pro Stream Web"
第一个命令输出:
ffmpeg version n4.4-10-g75c3969292 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 10-win32 (GCC) 20210408
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libvmaf --enable-vulkan --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm --enable-libglslang --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
[dshow @ 000000000035a000] DirectShow video devices (some may be both video and audio devices)
[dshow @ 000000000035a000] "C922 Pro Stream Webcam"
[dshow @ 000000000035a000] Alternative name "@device_pnp_\\?\usb#vid_046d&pid_085c&mi_00#9&1da24ac&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 000000000035a000] DirectShow audio devices
[dshow @ 000000000035a000] "Microphone (C922 Pro Stream Web"
[dshow @ 000000000035a000] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\Microphone (C922 Pro Stream Web"
[dshow @ 000000000035a000] "Microphone (Realtek High Defini"
[dshow @ 000000000035a000] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\Microphone (Realtek High Defini"
dummy: Immediate exit requested
第二个是这样的:
ffplay version n4.4-10-g75c3969292 Copyright (c) 2003-2021 the FFmpeg developers
built with gcc 10-win32 (GCC) 20210408
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libvmaf --enable-vulkan --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm --enable-libglslang --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
Initialized direct3d renderer.
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
dshow passing through packet of type video size 170103 timestamp 2074640340000 orig timestamp 2074640336004 graph timestamp 2074640340000 diff 3996 C922 Pro Stream Webcam
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
dshow passing through packet of type video size 166381 timestamp 2074640500000 orig timestamp 2074640502670 graph timestamp 2074640500000 diff -2670 C922 Pro Stream Webcam
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
dshow passing through packet of type video size 173348 timestamp 2074640820000 orig timestamp 2074640816017 graph timestamp 2074640820000 diff 3983 C922 Pro Stream Webcam
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
...
但是,如果我使用 USB 电缆延长器(USB over UTP - 这个东西由两部分组成:第一个有一个公头,第二个是一个母头 USB A,它们通过 RJ45 socket 和 Cat5e UTP 电缆连接),它根本不起作用。第一个命令打印相同:
ffmpeg version n4.4-10-g75c3969292 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 10-win32 (GCC) 20210408
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libvmaf --enable-vulkan --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm --enable-libglslang --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
[dshow @ 000000000039a000] DirectShow video devices (some may be both video and audio devices)
[dshow @ 000000000039a000] "C922 Pro Stream Webcam"
[dshow @ 000000000039a000] Alternative name "@device_pnp_\\?\usb#vid_046d&pid_085c&mi_00#9&1da24ac&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 000000000039a000] DirectShow audio devices
[dshow @ 000000000039a000] "Microphone (C922 Pro Stream Web"
[dshow @ 000000000039a000] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\Microphone (C922 Pro Stream Web"
[dshow @ 000000000039a000] "Microphone (Realtek High Defini"
[dshow @ 000000000039a000] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\Microphone (Realtek High Defini"
dummy: Immediate exit requested
但第二个因“无法设置视频选项”而失败:
ffplay version n4.4-10-g75c3969292 Copyright (c) 2003-2021 the FFmpeg developers
built with gcc 10-win32 (GCC) 20210408
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libvmaf --enable-vulkan --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm --enable-libglslang --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
Initialized direct3d renderer.
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0

[dshow @ 00000000004de180] Could not set video options
video=C922 Pro Stream Webcam:audio=Microphone (C922 Pro Stream Web: I/O error
可能是什么问题?是延长线吗? FFmpeg 对 USB 数据线(和延长线)有什么要求?

最佳答案

这不是软件/配置问题 - 它纯粹是电气问题。我假设您有无源 USB 以太网适配器,它只转换接线而不接触信号本身。 5-10 米是您对这种电缆所能期望的最大实际长度(我使用 iPhone 和 Mac Mini 进行了测试)。
Active USB over Ethernet 适配器可能会有所帮助。它们以完全不同的方式工作,并且对主机和访客设备都是完全透明的——不需要额外的配置。
有关 USB 电缆限制的详细信息,请参阅此答案 https://superuser.com/a/64747/416084

关于ffmpeg - 通过 UTP 上的 USB 使用 FFmpeg 进行网络摄像头录制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69167456/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com