"DirectShow video devices (some may be both video and audio devices)"

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

"DirectShow video devices (some may be both video and audio devices)"

Gabriel Balaich
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
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: "DirectShow video devices (some may be both video and audio devices)"

rogerdpack2
DirectShow video devices (some may be both video
and audio devices)

maybe? I think you can see the pins if you run with -loglevel verbose
good luck!

On Mon, Apr 29, 2019 at 8:00 PM Gabriel Balaich <[hidden email]> wrote:

>
> 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
> _______________________________________________
> ffmpeg-user mailing list
> [hidden email]
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> [hidden email] with subject "unsubscribe".
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".