DirectShow Capture support

Announcements made by users.
rogerdpack
Posts: 1876
Joined: Fri Aug 05, 2011 9:56 pm

Re: DirectShow Capture support

Post by rogerdpack » Mon Aug 24, 2015 8:05 pm

Looks to me like it's not a crossbar device [?] Are you unable to capture from it? You shouldn't have to specify pin names typically [those are not crossbar pins, confusing...hmm...]

ngoral
Posts: 7
Joined: Mon Aug 24, 2015 4:06 pm

Re: DirectShow Capture support

Post by ngoral » Mon Aug 24, 2015 8:13 pm

I'm not really sure it's a crossbar device. But ffmpeg started to talk about crossbar first:)
I don't set pins, I almost say nothing, but it failes to do anything. For example, trying simly capture it to a file:

Code: Select all

ffmpeg -loglevel debug -f dshow -i video="OEM Device" out.avi

Code: Select all

ffmpeg version N-74593-g6638e4a Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.3 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
ble-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
 --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enabl
e-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --ena
ble-decklink --enable-zlib
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 58.100 / 56. 58.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 37.100 /  5. 37.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level)
with argument 'debug'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'dsho
w'.
Reading option '-i' ... matched as input file with argument 'video=OEM Device'.
Reading option 'out.avi' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input file video=OEM Device.
Applying option f (force format) with argument dshow.
Successfully parsed a group of options.
Opening an input file: video=OEM Device.
[dshow @ 0000000002f9fe60] Selecting pin ╨Ч╨░╨┐╨╕╤Б╤М on video
[dshow @ 0000000002f9fe60] Crossbar Switching Information for OEM Device:
[dshow @ 0000000002f9fe60] Unable to get crossbar is routed to from pin 0
[dshow @ 0000000002f9fe60] Could not setup CrossBar
video=OEM Device: Input/output error

It's needed to be said, video captures by AmarecTV, for example. So device's working.

ngoral
Posts: 7
Joined: Mon Aug 24, 2015 4:06 pm

Re: DirectShow Capture support

Post by ngoral » Thu Sep 03, 2015 10:30 am

Some time ago I tried another device. My first has 2 audio composite inputs (for left&right channels), 1 video composite input and 1 s-video input. So logs for it are above.
Now I've tried another device: 1 composite audio in and 4 composite video inputs. It really can stream from 4 in parallel. But ffmpeg can capture it just from only one input. How can i change input for ffmpeg? Or how can I almost grab video from two or more inputs from this device? I can provide output for -list_optins true. Here it is:

Code: Select all

[dshow @ 0030f560] DirectShow video device options (from video devices)
[dshow @ 0030f560]  Pin "╨Ч╨░╨┐╨╕╤Б╤М" (alternative pin name "0")
[dshow @ 0030f560]   pixel_format=yuyv422  min s=640x480 fps=5 max s=640x480 fps
=30
[dshow @ 0030f560]   pixel_format=yuyv422  min s=720x480 fps=5 max s=720x480 fps
=30
[dshow @ 0030f560]   pixel_format=yuyv422  min s=720x576 fps=5 max s=720x576 fps
=30
[dshow @ 0030f560]   pixel_format=yuyv422  min s=160x120 fps=5 max s=160x120 fps
=30
[dshow @ 0030f560]   pixel_format=yuyv422  min s=176x144 fps=5 max s=176x144 fps
=30
[dshow @ 0030f560]   pixel_format=yuyv422  min s=320x240 fps=5 max s=320x240 fps
=30
[dshow @ 0030f560]   pixel_format=yuyv422  min s=352x288 fps=5 max s=352x288 fps
=30
[dshow @ 0030f560]   pixel_format=yuv420p  min s=640x480 fps=5 max s=640x480 fps
=30
[dshow @ 0030f560]   pixel_format=yuv420p  min s=160x120 fps=5 max s=160x120 fps
=30
[dshow @ 0030f560]   pixel_format=yuv420p  min s=176x144 fps=5 max s=176x144 fps
=30
[dshow @ 0030f560]   pixel_format=yuv420p  min s=320x240 fps=5 max s=320x240 fps
=30
[dshow @ 0030f560]   pixel_format=yuv420p  min s=352x288 fps=5 max s=352x288 fps
=30
video=USB2.0 ATV: Immediate exit requested
Thank you!

rogerdpack
Posts: 1876
Joined: Fri Aug 05, 2011 9:56 pm

Re: DirectShow Capture support

Post by rogerdpack » Thu Sep 03, 2015 3:08 pm

ngoral wrote:Some time ago I tried another device. My first has 2 audio composite inputs (for left&right channels), 1 video composite input and 1 s-video input. So logs for it are above.
Now I've tried another device: 1 composite audio in and 4 composite video inputs. It really can stream from 4 in parallel. But ffmpeg can capture it just from only one input. How can i change input for ffmpeg? Or how can I almost grab video from two or more inputs from this device? I can provide output for -list_optins true. Here it is:

Code: Select all

[dshow @ 0030f560] DirectShow video device options (from video devices)
[dshow @ 0030f560]  Pin "╨Ч╨░╨┐╨╕╤Б╤М" (alternative pin name "0")
[dshow @ 0030f560]   pixel_format=yuyv422  min s=640x480 fps=5 max s=640x480 fps
=30
[dshow @ 0030f560]   pixel_format=yuyv422  min s=720x480 fps=5 max s=720x480 fps
=30
[dshow @ 0030f560]   pixel_format=yuyv422  min s=720x576 fps=5 max s=720x576 fps
=30
[dshow @ 0030f560]   pixel_format=yuyv422  min s=160x120 fps=5 max s=160x120 fps
=30
[dshow @ 0030f560]   pixel_format=yuyv422  min s=176x144 fps=5 max s=176x144 fps
=30
[dshow @ 0030f560]   pixel_format=yuyv422  min s=320x240 fps=5 max s=320x240 fps
=30
[dshow @ 0030f560]   pixel_format=yuyv422  min s=352x288 fps=5 max s=352x288 fps
=30
[dshow @ 0030f560]   pixel_format=yuv420p  min s=640x480 fps=5 max s=640x480 fps
=30
[dshow @ 0030f560]   pixel_format=yuv420p  min s=160x120 fps=5 max s=160x120 fps
=30
[dshow @ 0030f560]   pixel_format=yuv420p  min s=176x144 fps=5 max s=176x144 fps
=30
[dshow @ 0030f560]   pixel_format=yuv420p  min s=320x240 fps=5 max s=320x240 fps
=30
[dshow @ 0030f560]   pixel_format=yuv420p  min s=352x288 fps=5 max s=352x288 fps
=30
video=USB2.0 ATV: Immediate exit requested
Thank you!
So it just streams from 4 different pins simultaneously? (short answer is no, but it would be good to get more info here, perhaps it is possible)

ngoral
Posts: 7
Joined: Mon Aug 24, 2015 4:06 pm

Re: DirectShow Capture support

Post by ngoral » Wed Sep 23, 2015 6:45 pm

rogerdpack wrote:So it just streams from 4 different pins simultaneously? (short answer is no, but it would be good to get more info here, perhaps it is possible)
After taking a break and realising smth i can say the following.

We've tried capturing from simple EasyCap devices (I guess you could know them). They are known to stream several streams simultinously, also VLC managed wit capturing them and switch the channels. We used one that has S-video input, and 3 composites (2 audio, 1 video). Ffmpeg said that it could not set up crossbar, as I wrote in first message. Then we've tried one that has 4 composite video inputs and 1 composite audio. We managed to get a picture from it, but just from only one channel and have no idea how to switch it. So the first device should stream at least one stream, but we cannot get it. And second should give us an opportunity to switch, but.. we can't.

rogerdpack
Posts: 1876
Joined: Fri Aug 05, 2011 9:56 pm

Re: DirectShow Capture support

Post by rogerdpack » Tue Sep 29, 2015 4:31 pm

ngoral wrote:
rogerdpack wrote:So it just streams from 4 different pins simultaneously? (short answer is no, but it would be good to get more info here, perhaps it is possible)
After taking a break and realising smth i can say the following.

We've tried capturing from simple EasyCap devices (I guess you could know them). They are known to stream several streams simultinously, also VLC managed wit capturing them and switch the channels. We used one that has S-video input, and 3 composites (2 audio, 1 video). Ffmpeg said that it could not set up crossbar, as I wrote in first message. Then we've tried one that has 4 composite video inputs and 1 composite audio. We managed to get a picture from it, but just from only one channel and have no idea how to switch it. So the first device should stream at least one stream, but we cannot get it. And second should give us an opportunity to switch, but.. we can't.
How does VLC switch input?

rogerdpack
Posts: 1876
Joined: Fri Aug 05, 2011 9:56 pm

Re: DirectShow Capture support

Post by rogerdpack » Wed Dec 30, 2015 8:11 pm

dansus wrote:Excellent, this exactly what ive been looking for.

So if 'ffmpeg -f dshow -i list' doesnt show the id of my pci tv card, how do i work out what its called for the cmd?

Ive looked it up with graph edit but FF cant lock onto it.

Code: Select all

ffmpeg -f dshow -i video="7231 BDA Digital Capture DVBT" -r 25 -threads 0 -vcodec libx264 -f mp4 output.mp4
FWIW I have a working DVBT/ATSC digital capture prototype in my local FFmpeg branch, ping me if anybody wants to be/become a beta tester :)

LithosZA
Posts: 14
Joined: Sun Apr 14, 2013 4:32 pm

Re: DirectShow Capture support

Post by LithosZA » Mon Feb 08, 2016 9:43 am

I've got 2 different USB DVB-T2 devices that I can use to help with testing. Currently I am using ProgDVB to dumb raw streams to my hard-drive.

How do you specify the frequency and channel?
Would '-vcodec copy' and '-acodec copy' work with this?

rogerdpack
Posts: 1876
Joined: Fri Aug 05, 2011 9:56 pm

Re: DirectShow Capture support

Post by rogerdpack » Thu Feb 18, 2016 5:19 am

send me an email and I'll try and get you a build.
-c copy style does work

Post Reply