Roger's woze

August 7, 2011

ffmpeg directshow

Filed under: Uncategorized — rogerdpack @ 4:46 pm

According to [1] it is now possible:

$ ffmpeg -f dshow -i video=”USB2.0_Camera”:audio=”Microphone (USB Audio Device)” output.mkv

You can discover available device names by using

$ ffmpeg -list_devices true -f dshow -i dummy

and types that each supports via:

$ ffmpeg -list_options true -f dshow -i video=<video device>

And specify a type via:

The video options can be set with -r <framerate> -s <size>.
The audio options can be set with -channels <channels> -sample_size
<sample_size> -sample_rate <sample_rate>.

Example:

ffplay -f dshow -i video=screen-capture-recorder
Ffmpeg can also take directshow as input by creating an avisynth file (.avs file) that itself gets input from a graphedit file, which graphedit file exposes a pin of your capture source or any filter really, ex (“yo.avs”):

DirectShowSource(“push2.GRF”, fps=35, audio=False, framecount=1000000)

Also this note from [1] “The input string is in the format video=<video device name>:audio=<audio device name>. It is possible to have two separate inputs (like -f dshow -i audio=foo -f dshow -i video=bar) but my limited tests had shown a better synchronism when both were used in the same input.”

[1] http://ffmpeg.zeranoe.com/forum/viewtopic.php?f=3&t=27

8 Comments »

  1. [...] also http://betterlogic.com/roger/2011/08/ffmpeg-directshow/ Comments [...]

    Pingback by ffmpeg screen capture directshow « Roger's woze — August 24, 2011 @ 9:06 am

  2. [...] can use http://betterlogic.com/roger/2011/08/ffmpeg-directshow/ directshow with ffmpeg, then tell it to capture “what you hear” by following the [...]

    Pingback by ffmpeg capture audio windows « Roger's woze — September 1, 2011 @ 9:06 am

  3. [...] http://betterlogic.com/roger/2011/08/ffmpeg-directshow/ Comments [...]

    Pingback by ffmpeg enumerate directshow « Roger's woze — September 23, 2011 @ 1:14 pm

  4. Hi Roger,

    Thanks for the info. Is it possible to do screencapture with dshow? You know how?

    All the best,
    Tim.

    Comment by Timbo — January 2, 2012 @ 8:11 am

  5. yeah see http://betterlogic.com/roger/2011/08/ffmpeg-screen-capture-directshow/

    Comment by rogerdpack — January 2, 2012 @ 8:37 am

  6. [...] ffmpeg directshow Advertisement LD_AddCustomAttr("AdOpt", "1"); LD_AddCustomAttr("Origin", "other"); LD_AddCustomAttr("theme_bg", "ffffff"); LD_AddCustomAttr("theme_text", "333333"); LD_AddCustomAttr("theme_link", "0066cc"); LD_AddCustomAttr("theme_border", "cccccc"); LD_AddCustomAttr("theme_url", "ff4b33"); LD_AddCustomAttr("LangId", "1"); LD_AddCustomAttr("Autotag", "technology"); LD_AddCustomAttr("Tag", "rtc"); LD_AddCustomAttr("Tag", "windows"); LD_AddSlot("wpcom_below_post"); LD_GetBids(); Rate this: Post toFacebookLinkedInTwitterMoreEmailDiggPrintRedditStumbleUponLike this:LikeBe the first to like this post. This entry was posted in RTC, Windows. Bookmark the permalink. ← Unlocked iPhone 3GS/4/4S pricing [...]

    Pingback by FFmpeg on Windows | Devendra @ Work — January 10, 2012 @ 10:32 am

  7. I have a HDMI capture card, and the output combine Video pin and Audio pin together. Following is what ffmpeg shows when I check the available type of capture device:

    [dshow @ 0033c3c0] DirectShow video device options
    [dshow @ 0033c3c0] Pin “???”
    [dshow @ 0033c3c0] min s=720×480 fps=59.9402 max s=720×480 fps=59.9402
    [dshow @ 0033c3c0] min s=720×480 fps=29.97 max s=720×480 fps=29.97
    [dshow @ 0033c3c0] min s=720×576 fps=50 max s=720×576 fps=50
    [dshow @ 0033c3c0] min s=720×576 fps=25 max s=720×576 fps=25
    [dshow @ 0033c3c0] min s=640×480 fps=59.9402 max s=640×480 fps=59.9402
    [dshow @ 0033c3c0] min s=1920×1080 fps=29.97 max s=1920×1080 fps=29.97
    [dshow @ 0033c3c0] min s=1920×1080 fps=25 max s=1920×1080 fps=25
    [dshow @ 0033c3c0] min s=1920×1080 fps=24 max s=1920×1080 fps=24
    [dshow @ 0033c3c0] min s=1280×720 fps=59.9402 max s=1280×720 fps=59.9402
    [dshow @ 0033c3c0] min s=1280×720 fps=50 max s=1280×720 fps=50
    [dshow @ 0033c3c0] Pin “Audio”

    so far I can only capture [s=720x480 fps=59.9402 max s=720x480 fps=59.9402](-s and -r switch doesn’t seems to work) and I cannot capture audio pin. Any ideas?

    Comment by bbscool — May 9, 2012 @ 10:46 am

  8. @bbscool I think that means that your capture device needs “crossbar support” which ffmpeg doesn’t yet have. VLC does though I wonder if the two could merge somehow…

    Comment by rogerdpack — May 9, 2012 @ 12:13 pm

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress