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

Roger Pack rogerdpack2 at gmail.com
Mon May 13 16:31:06 EEST 2019


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 <roderrooder at gmail.com> 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
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list