VideoHelp Forum




+ Reply to Thread
Results 1 to 3 of 3
  1. Member
    Join Date
    Jul 2018
    Location
    Berlin
    Search PM
    Hi,

    this is my first post here, so sorry if I unintentionally violate the netiquette. I just want to announce a little application I created, in case anyone here has a need for it.

    Since I'm too lazy to describe it again, below what I posted on some mailing list about it.

    <blockquote>

    In the last few days I created a little command-line media player called
    "DScmd", based on DirectShow. You can download its first release from here:
    https://valentin.dasdeck.com/c/dscmd/

    The command-line arguments it currently supports are listed here:
    https://valentin.dasdeck.com/c/dscmd/readme.txt

    AFAICT there was no such purely DirectShow-based command-line player
    yet, which is why I created it. There is e.g. ffplay.exe (which comes
    with FFmpeg) which also supports DirectShow, but it has (statically
    compiled) 40-60 MB, whereas my dscmd.exe only has 192 kB, since it
    doesn't contain any media format/codec parsing code (like libavcodec for
    ffmepg/ffplay) at all, but instead only relies on the DirectShow system.
    And it also doesn't rely on SDL, but instead uses native Win-API windows
    for displaying video in a window.

    But it's nevertheless quite powerful, here a couple of features as
    unsorted list:

    - it allows to build arbitrary DirectShow graphs explicitely

    - it allows to load DirectShow filters at runtime, so no registration
    (which would require elevated privileges) needed.

    - it supports VMR-7, WMR-9 and EVR video renderers (others, like
    legacy renderer or Haali only work partially)

    - using the LAV (or alternatively FFdshow) filters, it provides the
    power of libavcodec etc., so about the same (long) list of supported
    container formats and media codecs as ffplay/ffmpeg.

    - SHOUTcast/Icecast audio and HLS video streaming support (via LAV
    Splitter Source)

    - Video/audio capturing support (playback or recording e.g. to AVI)

    - interactive keyboard control (optional, via "-i")


    Check out/run the demo batch scripts in folder "demos". Most of them
    should run in any recent Windows (e.g. Win 8.x/Win 10.x, 32/64-bit).
    Only 3 of them - demo_file_video.bat, demo_file_fullscreen.bat and
    demo_url_video.bat - are meant to demonstrate direct video playback
    without creating an explicit filter graph, and therefor rely on
    appropriate filters registered in the system. If those 3 demos don't
    work for you, you can execute "__register_run_as_admin.bat" in folder
    "demos/filters" - by running it as admin, as the name suggests - to
    register the provided LAV filters, then also those should work.

    Final note: in interactive mode (-i), you can switch (toggle) any loaded
    video to fullscreen by typing "f" after the video was loaded. But the
    commandline argument "-fullscreen" is meant for situations when only
    strict fullscreen playback is required and never the desktop should be
    shown. Therefor this mode doesn't allow to switch back to non-fullscreen
    mode, and therefor also not to quit the player by closing the video
    window via close button in its title bar. To quit a player running in
    this explicit fullscreen mode, in interactive mode just type "q" or ESC,
    otherwise shortcut Alt-F4 always works.

    </blockquote>
    Quote Quote  
  2. Member
    Join Date
    Jan 2007
    Location
    United States
    Search Comp PM
    Originally Posted by fluxus View Post
    Hi,

    this is my first post here, so sorry if I unintentionally violate the netiquette. I just want to announce a little application I created, in case anyone here has a need for it.

    Since I'm too lazy to describe it again, below what I posted on some mailing list about it.

    <blockquote>

    In the last few days I created a little command-line media player called
    "DScmd", based on DirectShow. You can download its first release from here:
    https://valentin.dasdeck.com/c/dscmd/

    The command-line arguments it currently supports are listed here:
    https://valentin.dasdeck.com/c/dscmd/readme.txt

    AFAICT there was no such purely DirectShow-based command-line player
    yet, which is why I created it. There is e.g. ffplay.exe (which comes
    with FFmpeg) which also supports DirectShow, but it has (statically
    compiled) 40-60 MB, whereas my dscmd.exe only has 192 kB, since it
    doesn't contain any media format/codec parsing code (like libavcodec for
    ffmepg/ffplay) at all, but instead only relies on the DirectShow system.
    And it also doesn't rely on SDL, but instead uses native Win-API windows
    for displaying video in a window.

    But it's nevertheless quite powerful, here a couple of features as
    unsorted list:

    - it allows to build arbitrary DirectShow graphs explicitely

    - it allows to load DirectShow filters at runtime, so no registration
    (which would require elevated privileges) needed.

    - it supports VMR-7, WMR-9 and EVR video renderers (others, like
    legacy renderer or Haali only work partially)

    - using the LAV (or alternatively FFdshow) filters, it provides the
    power of libavcodec etc., so about the same (long) list of supported
    container formats and media codecs as ffplay/ffmpeg.

    - SHOUTcast/Icecast audio and HLS video streaming support (via LAV
    Splitter Source)

    - Video/audio capturing support (playback or recording e.g. to AVI)

    - interactive keyboard control (optional, via "-i")


    Check out/run the demo batch scripts in folder "demos". Most of them
    should run in any recent Windows (e.g. Win 8.x/Win 10.x, 32/64-bit).
    Only 3 of them - demo_file_video.bat, demo_file_fullscreen.bat and
    demo_url_video.bat - are meant to demonstrate direct video playback
    without creating an explicit filter graph, and therefor rely on
    appropriate filters registered in the system. If those 3 demos don't
    work for you, you can execute "__register_run_as_admin.bat" in folder
    "demos/filters" - by running it as admin, as the name suggests - to
    register the provided LAV filters, then also those should work.

    Final note: in interactive mode (-i), you can switch (toggle) any loaded
    video to fullscreen by typing "f" after the video was loaded. But the
    commandline argument "-fullscreen" is meant for situations when only
    strict fullscreen playback is required and never the desktop should be
    shown. Therefor this mode doesn't allow to switch back to non-fullscreen
    mode, and therefor also not to quit the player by closing the video
    window via close button in its title bar. To quit a player running in
    this explicit fullscreen mode, in interactive mode just type "q" or ESC,
    otherwise shortcut Alt-F4 always works.

    </blockquote>
    Trying this program but can't understand how to get a video to playback?

    Does this look right?

    dscmd -graph {B98D13E7-55DB-4385-A33D-09FD1BA26338};src=C:\Users\Trsula\palemoondownload s\dscmd-v0.4-x64\latest-x64\src=bbb_360p_10sec.mp4;{EE30215D-164F-4A92-A4EB-9D4C13390F9F},{04FE9017-F873-410E-871E-AB91661A4EF7},{51B4ABF3-748F-4E3B-A276-C828330E926A},{E8E73B6B-4CB3-44A4-BE99-4F7BCB96E491},{79376820-07D0-11CF-A24D-0020AFD79767}, -i -v=3 -progress
    Quote Quote  
  3. Member
    Join Date
    Jul 2018
    Location
    Berlin
    Search PM
    Hi, since you try to use some custom filter (BASS) that I don't have, I can't debug this. But in general, if you use custom filters it's unlikely that the system can render them automatically, therefor you have to provide an explicit filter connection list, which you omited in the code you posted.

    For creating a new DSCmd command line that actually works, I recommend to use my GraphStudioNext-Enhanced tool. Download and run the x64 release version, then build a graph that actually works when you press the green "play" button, and then finally select "Generate Code..." from the "File" menu and save the current graph as batch script for DSCmd. If you save it into the same folder as "dscmd.exe", the batch script should work out of the box, otherwise you either have to put the folder of dscmd.exe into the PATH environment variable or edit the batch script in a text editor and replace "DScmd.exe" with its absolute path. so e.g. "C:\Users\Trsula\palemoondownloads\dscmd-v0.4-x64\latest-x64\DScmd.exe".

    Attached screenshot shows the process.

    Image
    [Attachment 90082 - Click to enlarge]
    Last edited by fluxus; 4th Dec 2025 at 08:44.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!