dshow questions

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

dshow questions

Michael Koch
Hi,

I have two questions about the dshow input device.

Question 1:
On the wiki page https://trac.ffmpeg.org/wiki/DirectShow can be found
this example:

ffmpeg -f dshow -video_size 1280x720 -framerate 15 -vcodec mjpeg -i
video="Integrated Camera" out.avi

Is -vcodec in this case an undocumented option of the dshow input
device? I ask because it's written before -i.
Or is it an option for the output, and could (or should?) be written
before the output file?


Question 2:
I have this HDMI to USB converter (which is working very good, by the way):
https://www.ebay.de/itm/1080P-HDMI-Videoaufnahme-Video-Capture-Card-Grabber-USB2-0-Recorder-Adapter/293641909414

When I list the options with this command line

ffmpeg -list_options 1 -f dshow -i video="USB Video"

this is the output:

C:\Users\mKoch\Desktop>c:\ffmpeg\ffmpeg -list_options 1 -f dshow -i
video="USB V
ideo"
ffmpeg version git-2020-08-02-b48397e Copyright (c) 2000-2020 the FFmpeg
develop
ers
   built with gcc 10.2.1 (GCC) 20200726
   configuration: --enable-gpl --enable-version3 --enable-sdl2
--enable-fontconfi
g --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d
--enable-libb
luray --enable-libfreetype --enable-libmp3lame
--enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus
--enable-libshine --e
nable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora
--enable-lib
twolame --enable-libvpx --enable-libwavpack --enable-libwebp
--enable-libx264 --
enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma
--enable-zlib --e
nable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis
--enable-libvo
-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid
--enable-libaom
--enable-libgsm --enable-librav1e --disable-w32threads --enable-libmfx
--enable-
ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va
--enable-nvenc --en
able-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
   libavutil      56. 57.100 / 56. 57.100
   libavcodec     58. 99.100 / 58. 99.100
   libavformat    58. 49.100 / 58. 49.100
   libavdevice    58. 11.101 / 58. 11.101
   libavfilter     7. 87.100 /  7. 87.100
   libswscale      5.  8.100 /  5.  8.100
   libswresample   3.  8.100 /  3.  8.100
   libpostproc    55.  8.100 / 55.  8.100
[dshow @ 0000000000374800] DirectShow video device options (from video
devices)
[dshow @ 0000000000374800]  Pin "Capture" (alternative pin name "0")
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=1920x1080 fps=5 max
s=1920x1080
  fps=30
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=1920x1080 fps=5 max
s=1920x1080
  fps=30
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=1600x1200 fps=5 max
s=1600x1200
  fps=30
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=1600x1200 fps=5 max
s=1600x1200
  fps=30
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=1360x768 fps=5 max
s=1360x768 f
ps=30
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=1360x768 fps=5 max
s=1360x768 f
ps=30
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=1280x1024 fps=5 max
s=1280x1024
  fps=30
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=1280x1024 fps=5 max
s=1280x1024
  fps=30
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=1280x960 fps=5 max
s=1280x960 f
ps=50
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=1280x960 fps=5 max
s=1280x960 f
ps=50
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=1280x720 fps=10 max
s=1280x720
fps=60.0002
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=1280x720 fps=10 max
s=1280x720
fps=60.0002
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=1024x768 fps=10 max
s=1024x768
fps=60.0002
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=1024x768 fps=10 max
s=1024x768
fps=60.0002
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=800x600 fps=10 max
s=800x600 fp
s=60.0002
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=800x600 fps=10 max
s=800x600 fp
s=60.0002
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=720x576 fps=10 max
s=720x576 fp
s=60.0002
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=720x576 fps=10 max
s=720x576 fp
s=60.0002
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=720x480 fps=10 max
s=720x480 fp
s=60.0002
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=720x480 fps=10 max
s=720x480 fp
s=60.0002
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=640x480 fps=10 max
s=640x480 fp
s=60.0002
[dshow @ 0000000000374800]   vcodec=mjpeg  min s=640x480 fps=10 max
s=640x480 fp
s=60.0002
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=1280x720 fps=10
max s=1
280x720 fps=10
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=1280x720 fps=10
max s=1
280x720 fps=10
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=1920x1080 fps=5
max s=1
920x1080 fps=5
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=1920x1080 fps=5
max s=1
920x1080 fps=5
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=1600x1200 fps=5
max s=1
600x1200 fps=5
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=1600x1200 fps=5
max s=1
600x1200 fps=5
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=1360x768 fps=8
max s=13
60x768 fps=8
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=1360x768 fps=8
max s=13
60x768 fps=8
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=1280x1024 fps=8
max s=1
280x1024 fps=8
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=1280x1024 fps=8
max s=1
280x1024 fps=8
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=1280x960 fps=8
max s=12
80x960 fps=8
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=1280x960 fps=8
max s=12
80x960 fps=8
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=1024x768 fps=10
max s=1
024x768 fps=10
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=1024x768 fps=10
max s=1
024x768 fps=10
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=800x600 fps=5
max s=800
x600 fps=20
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=800x600 fps=5
max s=800
x600 fps=20
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=720x576 fps=5
max s=720
x576 fps=25
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=720x576 fps=5
max s=720
x576 fps=25
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=720x480 fps=5
max s=720
x480 fps=30
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=720x480 fps=5
max s=720
x480 fps=30
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=640x480 fps=5
max s=640
x480 fps=30
[dshow @ 0000000000374800]   pixel_format=yuyv422  min s=640x480 fps=5
max s=640
x480 fps=30
video=USB Video: Immediate exit requested

Why is each line listed twice? Might there be a difference between the
lines, but FFmpeg can't show what the difference is?

Thanks,
Michael

_______________________________________________
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: dshow questions

Moritz Barsnick
On Sat, Aug 08, 2020 at 11:23:28 +0200, Michael Koch wrote:
> ffmpeg -f dshow -video_size 1280x720 -framerate 15 -vcodec mjpeg -i
> video="Integrated Camera" out.avi
>
> Is -vcodec in this case an undocumented option of the dshow input
> device? I ask because it's written before -i.
> Or is it an option for the output, and could (or should?) be written
> before the output file?

As other documentation indicates, "-c" ("-codec", -"vcodec") can be
either an input or an output option. As an input option, it either
tells ffmpeg which codec an input has, or in this case, it also tells
the input device which codec to choose (i.e. emit).

> Question 2:
> I have this HDMI to USB converter (which is working very good, by the way):
> https://www.ebay.de/itm/1080P-HDMI-Videoaufnahme-Video-Capture-Card-Grabber-USB2-0-Recorder-Adapter/293641909414
[...]
> [dshow @ 0000000000374800]   pixel_format=yuyv422  min s=640x480 fps=5 max s=640x480 fps=30
> [dshow @ 0000000000374800]   pixel_format=yuyv422  min s=640x480 fps=5 max s=640x480 fps=30
> video=USB Video: Immediate exit requested
>
> Why is each line listed twice? Might there be a difference between the
> lines, but FFmpeg can't show what the difference is?

I can't help you with this, sorry.

Cheers,
Moritz
_______________________________________________
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: dshow questions

Michael Koch
Am 08.08.2020 um 13:41 schrieb Moritz Barsnick:

> On Sat, Aug 08, 2020 at 11:23:28 +0200, Michael Koch wrote:
>> ffmpeg -f dshow -video_size 1280x720 -framerate 15 -vcodec mjpeg -i
>> video="Integrated Camera" out.avi
>>
>> Is -vcodec in this case an undocumented option of the dshow input
>> device? I ask because it's written before -i.
>> Or is it an option for the output, and could (or should?) be written
>> before the output file?
> As other documentation indicates, "-c" ("-codec", -"vcodec") can be
> either an input or an output option. As an input option, it either
> tells ffmpeg which codec an input has, or in this case, it also tells
> the input device which codec to choose (i.e. emit).

Thanks for your answer, that makes sense.

>> Question 2:
>> I have this HDMI to USB converter (which is working very good, by the way):
>> https://www.ebay.de/itm/1080P-HDMI-Videoaufnahme-Video-Capture-Card-Grabber-USB2-0-Recorder-Adapter/293641909414
> [...]
>> [dshow @ 0000000000374800]   pixel_format=yuyv422  min s=640x480 fps=5 max s=640x480 fps=30
>> [dshow @ 0000000000374800]   pixel_format=yuyv422  min s=640x480 fps=5 max s=640x480 fps=30
>> video=USB Video: Immediate exit requested
>>
>> Why is each line listed twice? Might there be a difference between the
>> lines, but FFmpeg can't show what the difference is?
> I can't help you with this, sorry.

I see the same behaviour also with the built-in webcam in my notebook.
All lines are listed twice.

Michael

_______________________________________________
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: dshow questions

kumowoon1025
In reply to this post by Michael Koch
Hi,

> Is -vcodec in this case an undocumented option of the dshow input device? I ask because it's written before -i.
> Or is it an option for the output, and could (or should?) be written before the output file?

I think it's not documented because it's deprecated, ultimately it's equivalent to codec:v, which is listed as input/output option.

> Why is each line listed twice? Might there be a difference between the lines, but FFmpeg can't show what the difference is?

That is weird, maybe it is listing them once for device then for the pin? Or it tries to list video and audio properties but the audio falls back to the video device?

Regards,
Ted Park

_______________________________________________
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".