[FFmpeg-user] "DirectShow video devices (some may be both video and audio devices)"

Gabriel Balaich roderrooder at gmail.com
Tue Apr 30 04:59:45 EEST 2019


Quick question regarding calling devices via dshow in FFmpeg,

I'm trying to capture and Avermedia GC573, audio and video, but when I list
devices there appears to be no audio device that would pair with the GC573.

Here's me listing devices:
PS C:\Users\Jordan> ffmpeg -list_devices true -f dshow -i dummy
ffmpeg version N-93087-g2b8458fcc5 Copyright (c) 2000-2019 the FFmpeg
developers
  built with gcc 8.2.1 (GCC) 20181201
  configuration: --enable-gpl --enable-version3 --enable-sdl2
--enable-fontconfig --enable-gnutls --enable-iconv --enable-libass
--enable-libdav1d --enable-libbluray --enable-libfreetype
--enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
--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-libvo-amrwbenc
--enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom
--enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid
--enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2
--enable-avisynth --enable-libopenmpt
  libavutil      56. 26.100 / 56. 26.100
  libavcodec     58. 46.100 / 58. 46.100
  libavformat    58. 26.100 / 58. 26.100
  libavdevice    58.  6.101 / 58.  6.101
  libavfilter     7. 48.100 /  7. 48.100
  libswscale      5.  4.100 /  5.  4.100
  libswresample   3.  4.100 /  3.  4.100
  libpostproc    55.  4.100 / 55.  4.100
[dshow @ 000001688ade9f00] DirectShow video devices (some may be both video
and audio devices)
[dshow @ 000001688ade9f00]  "Game Capture HD60 Pro (Video) (#01)"
[dshow @ 000001688ade9f00]     Alternative name
"@device_pnp_\\?\pci#ven_12ab&dev_0380&subsys_00061cfa&rev_00#4&33186293&0&00e8#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{6f814be9-9af6-43cf-9249-c03401000222}"
[dshow @ 000001688ade9f00]  "AVerMedia HD Capture GC573 1"
[dshow @ 000001688ade9f00]     Alternative name
"@device_pnp_\\?\pci#ven_1461&dev_0054&subsys_57301461&rev_00#4&3174068&0&00e0#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{adef4cb5-1401-4177-84ee-fe8b26c13a5b}"
[dshow @ 000001688ade9f00] DirectShow audio devices
[dshow @ 000001688ade9f00]  "SPDIF/ADAT (1+2) (RME Fireface UC)"
[dshow @ 000001688ade9f00]     Alternative name
"@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{AADE0540-0E9D-4CFC-B16E-1E52492511CE}"
[dshow @ 000001688ade9f00]  "Game Capture HD60 Pro (Audio) (#01)"
[dshow @ 000001688ade9f00]     Alternative name
"@device_pnp_\\?\pci#ven_12ab&dev_0380&subsys_00061cfa&rev_00#4&33186293&0&00e8#{33d9a762-90c8-11d0-bd43-00a0c911ce86}\{6f814be9-9af6-43cf-9249-c03401000322}"
[dshow @ 000001688ade9f00]  "ADAT (5+6) (RME Fireface UC)"
[dshow @ 000001688ade9f00]     Alternative name
"@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{31381BEE-58DA-47F2-BEFE-7D8A59C3E6BC}"
[dshow @ 000001688ade9f00]  "SPDIF coax. (RME Fireface UC)"
[dshow @ 000001688ade9f00]     Alternative name
"@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{41CF9FF0-5B17-4620-BDA9-4CA0239F66BF}"
[dshow @ 000001688ade9f00]  "ADAT (3+4) (RME Fireface UC)"
[dshow @ 000001688ade9f00]     Alternative name
"@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{67F06B32-DCFE-46D4-AACB-5344C542555E}"
[dshow @ 000001688ade9f00]  "Analog (5+6) (RME Fireface UC)"
[dshow @ 000001688ade9f00]     Alternative name
"@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{87EA8908-4B10-4D7A-BC87-E1FD14EA99DB}"
[dshow @ 000001688ade9f00]  "Analog (7+8) (RME Fireface UC)"
[dshow @ 000001688ade9f00]     Alternative name
"@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{9B92B138-51D3-419B-A3B7-F09596E0F3A7}"
[dshow @ 000001688ade9f00]  "Analog (3+4) (RME Fireface UC)"
[dshow @ 000001688ade9f00]     Alternative name
"@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{C4A7F11E-A89D-4D2E-9C88-1CF3D70D5ABD}"
[dshow @ 000001688ade9f00]  "Analog (1+2) (RME Fireface UC)"
[dshow @ 000001688ade9f00]     Alternative name
"@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{CE2E8C0E-5D8C-4EE4-9E3D-AE3B02D6DD1D}"
[dshow @ 000001688ade9f00]  "ADAT (7+8) (RME Fireface UC)"
[dshow @ 000001688ade9f00]     Alternative name
"@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{E4072ABB-0A99-4973-9B89-C223017BEB85}"
dummy: Immediate exit requested

As can be seen there is only a video source for the GC573, but upon further
examination I noticed the line "DirectShow video devices (some may be both
video and audio devices)". So I just listed the GC573 as both audio and
video like this:
ffmpeg -y `
-thread_queue_size 9999 -indexmem 9999 -f dshow -rtbufsize 2147.48M `
-pixel_format yuyv422 -video_size 1920x1080 -framerate 144 `
-i video="AVerMedia HD Capture GC573 1":audio="AVerMedia HD Capture GC573
1" `
-map 0:0,0:1 -map 0:1 -c:v h264_nvenc -r 144 -rc-lookahead 288 -preset: hp
-pix_fmt yuv444p `
-b:v 100M -minrate 100M -maxrate 100M -bufsize 100M -c:a aac -ar 44100 -b:a
320k -vsync 1 `
-max_muxing_queue_size 9999 C:\Users\Jordan\Videos\FFmpeg\Left\Left%02d.ts

But then I get these errors when running the command:
[dshow @ 000001ff648ccd40] Could not find audio only device with name
[AVerMedia HD Capture GC573 1] among source devices of type audio.
[dshow @ 000001ff648ccd40] Searching for audio device within video devices
for AVerMedia HD Capture GC573 1

But then the command continues to function properly and seems to be pulling
audio from the device. So my question is - how do I properly call a single
device for audio and video with dshow in FFmpeg to avoid errors / stop
FFmpeg from guessing or searching?

Full uncut console:
PS C:\Windows\system32> ffmpeg -y -hide_banner `
>> -thread_queue_size 9999 -indexmem 9999 -f dshow -rtbufsize 2147.48M `
>> -pixel_format yuyv422 -video_size 1920x1080 -framerate 144 `
>> -i video="AVerMedia HD Capture GC573 1":audio="AVerMedia HD Capture
GC573 1" `
>> -map 0:0,0:1 -map 0:1 -c:v h264_nvenc -r 144 -rc-lookahead 288
-forced-idr 1 -strict_gop 1 `
>> -sc_threshold 0 -flags +cgop -force_key_frames "expr:gte(t,n_forced*2)"
-preset: hp -pix_fmt yuv444p `
>> -b:v 100M -minrate 100M -maxrate 100M -bufsize 100M -c:a aac -ar 44100
-b:a 320k -vsync 1 `
>> -ss 00:00:00.000 -max_muxing_queue_size 9999 -af "aresample=async=250" `
>> -f segment -segment_time 600 -segment_wrap 48 -reset_timestamps 1 `
>> -segment_format_options max_delay=0
C:\Users\Jordan\Videos\FFmpeg\Left\Left%02d.ts
[dshow @ 000001ff648ccd40] Could not find audio only device with name
[AVerMedia HD Capture GC573 1] among source devices of type audio.
[dshow @ 000001ff648ccd40] Searching for audio device within video devices
for AVerMedia HD Capture GC573 1
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, dshow, from 'video=AVerMedia HD Capture GC573 1:audio=AVerMedia
HD Capture GC573 1':
  Duration: N/A, start: 7598.502293, bitrate: 1536 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080,
144 fps, 144 tbr, 10000k tbn, 10000k tbc
    Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 [sync #0:1] (rawvideo (native) -> h264 (h264_nvenc))
  Stream #0:1 -> #0:1 (pcm_s16le (native) -> aac (native))
Press [q] to stop, [?] for help
[segment @ 000001ff6494ae80] Opening
'C:\Users\Jordan\Videos\FFmpeg\Left\Left00.ts' for writing
Output #0, segment, to 'C:\Users\Jordan\Videos\FFmpeg\Left\Left%02d.ts':
  Metadata:
    encoder         : Lavf58.26.100
    Stream #0:0: Video: h264 (h264_nvenc) (High 4:4:4 Predictive), yuv444p,
1920x1080, q=-1--1, 100000 kb/s, 144 fps, 90k tbn, 144 tbc
    Metadata:
      encoder         : Lavc58.46.100 h264_nvenc
    Side data:
      cpb: bitrate max/min/avg: 100000000/0/100000000 buffer size:
100000000 vbv_delay: -1
    Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp, 320 kb/s
    Metadata:
      encoder         : Lavc58.46.100 aac
frame= 1204 fps=169 q=9.0 Lsize=N/A time=00:00:08.35 bitrate=N/A dup=188
drop=0 speed=1.17x
video:2024kB audio:2kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown
[aac @ 000001ff64968680] Qavg: 65536.000


More information about the ffmpeg-user mailing list