dmMediaConverter is a crossplatform FFmpeg frontend (GUI) exposing some of its features. It is intended to be simple and easy to use but also to be able to achieve complex tasks. I have inspired myself from a lot of media converters like Handbrake, WinFF and MkvMergeGui. One feature was lacking from most of them, video stream copy (pass-through), that made me build this.
Download and more details here: (Win and Linux)
On a Mac machine, you can run it under WineBottler for free. Works at the same speed as native. A native (dmg) paid version exists on Amazon.
Please share any thoughts and feedback here.
+ Reply to Thread
Results 1 to 30 of 39
Last edited by mdalacu; 29th Sep 2015 at 00:21.
hate to break it to you but arguably one of the worst gui's i've ever used, right down there with "super". those ridiculous popups are annoying, the options are poorly laid out, it barely exposes any configuration of the encoders, just a mishmash of a design.
but other than that, great job
I think that the UI is efficient as possible and it follows Gnome Desgin Guidlines. Do to some compiler bugs on windows the trackbar looks a little funny. I don't see how my interface is any uglier the Handbrake or MkvToolnix but my opinion is a little biased.
Also the popups are shown only at startup and when the first file is added, only once so i don't think that that they are a problem!
The app features can adapt with constructive feedback not by trashing it.
Can increase some configuration for encoders both for video as well as audio and remember they all should be somewhat compliant to bluray or dvd or in future uhd so it will be worth wasting time on it.
Haven't tried the Linux version yet, only the win32 version. It was able to join my 1080-60p AVCHD files ok with metadata intact (that's good). It would error out when trying to split them however. On Win7 x64 running the win32 version, It doesn't show the CRF value in the settings. Also even after a successful completion, it shows a memory error on exit.
Last edited by racer-x; 12th Jun 2014 at 06:49.Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
Last edited by mdalacu; 12th Jun 2014 at 06:39.
The last screenshot that you have posted is a harmless Debugging info showing that the app does not have any memory leaks ( 0 unfreed memory blocks). I think i will remove this info in a later version.
What is the split error that you ware talking about? Can you give more details?
Thank you very much for your feedback.
I think it has something to do with the metadata from the camera. I can split mp4, ts and mkv files just fine. here is the log:
ffmpeg version N-63439-g96470ca Copyright (c) 2000-2014 the FFmpeg developers
built on May 25 2014 22:01:51 with gcc 4.8.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
libavutil 52. 86.100 / 52. 86.100
libavcodec 55. 65.100 / 55. 65.100
libavformat 55. 41.100 / 55. 41.100
libavdevice 55. 13.101 / 55. 13.101
libavfilter 4. 5.100 / 4. 5.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 19.100 / 0. 19.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, mpegts, from 'D:\Capture\Pan_V700\00000.MTS':
Duration: 00:00:50.05, start: 2.306356, bitrate: 25180 kb/s
Stream #0:0[0x1011]: Video: h264 (High) (HDPR / 0x52504448), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc
Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 256 kb/s
Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ( / 0x0090), 1920x1080
Output #0, segment, to 'C:\Users\R X\Desktop\Junk\split_%03d.mkv':
encoder : Lavf55.41.100
Stream #0:0: Video: h264 (HDPR / 0x52504448), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 59.94 fps, 90k tbn, 59.94 tbc
Stream #0:1: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, 256 kb/s
Stream #0:2: Subtitle: hdmv_pgs_subtitle ( / 0x0090), 1920x1080
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Stream #0:2 -> #0:2 (copy)
Press [q] to stop, [?] for help
[segment @ 04640d40] Application provided invalid, non monotonically increasing dts to muxer in stream 2: -5920 >= -5920
av_interleaved_write_frame(): Invalid argument
frame= 0 fps=0.0 q=-1.0 Lsize=N/A time=00:00:00.00 bitrate=N/A
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 52704984324326293504.000000%
Conversion failed!Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
How can you disable stream 2? There are no options that I can see.Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
If I use TsMuxer to mux only Stream0 and Stream1 into a TS, I can then split it using your program. That's why I think it has something to do with the metadata.Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
[QUOTE=racer-x;2327067]How can you disable stream 2? There are no options that I can see.
Sorry, you are right. I should implement this.
Can you do this test in 2 steps. First using "Convert" strip stream 2 (uncheck "Enable" for that stream and leave "copy" for all the others) and then, with the resulting file can you try to do the split again? It is fast, no reencoding.
Here is a short source example if you want to do some tests.
https://forum.videohelp.com/attachments/22183-1387375850/00003.MTSGot my retirement plans all set. Looks like I only have to work another 5 years after I die........
Do you think this app is useful to someone and to invest a little time to develop it further or, by jugging from the lack of feedback received and from the first reply , to find something else to do?
I just tried it in Linux and it seams a bit smoother. I think this is a good conversion program, better than many I've tried. This is more designed for the novice user, but still has a lot of good functions. You should submit it as a new tool and see what kind response you get.
Personally I use ffmpeg via commandline bat files for more control over all setting, but most people prefer a GUI.Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
I have tried your video sampled and i didn't find any solution to keep the hdmv_pgs_subtitle (stream 2) and split it. An workaround is to do it in 2 steps, as previously stated but instead of disable the subtitle , try to convert it to dvdsub and then the split works. I hope it will get corrected in ffmpeg soon.
Have a nice day.
First, Great program program.Thank you for developing this nice and handy ffmpeg gui.
I have some feature requests.Can you add function that program automatically detect external subtitles (ass,ssa,srt) with the same name as video and auto add them to streams, it is easier when hardcode subtitles to video.It would be nice if you add something like profiles or at least use last settings that have been selected.
Sorry for my bad English
@mycek: Fist, thank you for your feedback and kind words.
Regarding your requests : In version 0.9.9 (coming within days) you will be able to drag and drop multiple files at once is source file area, so, i think it will be much easier for you to add subtitles. I will not auto-detect subtitle presence since will add an unnecessary complexity and could create confusion.
For your second request - it is a little tougher to implement since , for now, i have no idea how to do it and not lose some features. I will think at something for a feature version.
Version 0.9.9 is dragging a bit since i can not correct the track-bar appearance in windowze ....
Version 0.9.9 is up!
MAJOR RELEASE! New Features!
- Stream Profiles!
- Bulk Convert mode! Convert multiple files at once.
- 2 pass encoding for video codecs
- DeShake filter (not so good ...)
- Creation_time tag
- HiDPI support
- Added all ISO 639-2 language codes - Added color coded stream types for easy identification.
I hope you like it and please, provide feedback.
I'm reviewing your new version as a interested (almost retired) gui developer with the experience
that what developers consider as obvious, for users may be totally unclear.
You certainly are on the good track and I think some small changes would already make it a
useful GUI that deserves much more attention. Actually most all ingredients are already there and
only need some polishing.
These are my suggestions (FWIW);
Take off the tooltip pop-ups at first run. I know it's meant to help and the intention is good
but it's very "uncommon" and probably for most users annoying. Just make it normal tooltips that
show up when you go over a item or section of the gui. Also add a option to the menu to disable
the tooltips because once a user is faimiliar with your GUI, it gets annoying again whenever they
I spend a whole afternoon on your gui and for some things I really had to do a lot of searching
before I found what you actually meant in the help (at your web site) so I think you have to add
At first I thought that the list on top was already the job queue but later found that it's a very
powerful way to set up complex convert/mux operations for a single job like encode/mux a mix of
e.g. a video, two audio and two subtitle streams. I had to find out myself that in the "Streams" list
I can double-click on the language field to get a list with language codes and that if I double-click on
the title field, I can add a stream title. Very user friendly and useful but you should document it better.
Users should be informed that these whole setups at the "Source files/Streams" lists can be moved
as jobs to the job queue.
I also think it would be less confusing if you by default disable the copy box when a file is loaded.
In the way you do it now the user may wonder why all the encoding settings are blocked.
Another thing is the picture at the "stream settings" section. I know your tooltip says something
about it but I had to find out myself that when I double-click on it, I get a very nice option
to scale, rotate, crop and pad (you do not mention that negative values pad and that the
user can use the mouse scroll-wheel to adjust the values). And this all with a WYSIWYG preview.
You offer to save settings as profiles but the help says "right-click on the video tab" to select
a profile. But actually there is no video tab and I found I had to right-click on a field (e.g. codec)
of the "Streams settings" section to get the list of profiles. You should be more detailed in the
help and add it e.g. as a html or something to the download zip.
Oh yeah... make downloading easier. Just one zip to download, Not a folder full of stuff where the
potential user has to find out what to download.
You focus on users that are mainly interested in x264, x265, vp8 and vp9 encoding. Thats fine,
there are a lot who are but as someone already mentioned in a earlier post you should expand
the options with specific options like bluray compatibility and what's more.
It's nice that you can run a setup at the "Source files/Streams" lists directly as a single job
but I should add a cancel button there and would not clear the lists when the job is done.
Of course it stays a logical procedure to clear the lists when the job is moved to the job queue
to make room to prepare the next job.
It would also be nice if the user could move a job from the queue back to the "Source file/Streams"
lists to make modifications.
One last suggestion is to store the ini files locally in the users install folder. Since your application
doesn't write anything to the registry, this would make it fully portable.
Keep up the good work,
Last edited by Chris K; 23rd Aug 2014 at 17:22.
@Chris K - First let me thank you for taking time to write such a thorough and long review.
All the help related issues i will do my best to address them. I think it will be best if someone would make a presentation video.
About the duble click-ing on the screenshot, i could add an button near it which will open the window. What do you think?
Regarding popups...they are shown only once. If you reinstall and ini is present they will not be shown I really don't see them as an issue.
Regarding not resetting and reveting back from job list, i can not do this now ... it will take an complete code redesign.
About the ini file... this is the proper way to store files on linux and windows since you can not write to Program files without elevation. I can make an switch (let's say-p) and if you start the app with that argument then it will write to the executable folder.
Thank you very much.
Make downloading as easy as possible. Ensure that the user gets a good impression at a first trial.
Spend time on writing good documentation.
IMO the "Source files/Streams" lists are the most powerful part of your gui because they bundle most
everything that's needed for multi-input stream to output mapping, managing of language/title tags
and the ability to select for conversion or direct stream copy.
The encoding settings for e.g. x264 are not realy limited but still lack some options like to set
bluray compatibility. It should not be to hard to add that. It's one of the x264 options.
Regarding not resetting and reveting back from job list, i can not do this now ... it will take an
complete code redesign.
Convert mode is the most important (even essential) and should not require a complete code redesign.
I give a example. I made a setup with two input clips. both had audio and video streams. I also added a
separate ass subtitle stream to the input section. I decided to convert the video stream from the first
clip to x264 with 2-pass encoding and to mux-in (copy) the audio of both clips and the subtitle stream.
I wanted it to finally be muxed into a mkv container. Setting this up was relatively easy. I started the
process and according to the FFmpeg log, mapping was ok and it was doing the first pass.
But then... when FFmpeg started the second pass, it throwed an error. Not to blame on your command line
which was fine but because of a problem with the subtitle stream. Then when I returned to the settings tab,
both lists were cleared because your gui assumed the job was finished. I did not go into the process of
setting up the whole thing again and fix the subtitle issue but unhooked. I'm afraid that most users will
do the same in such case.
You could do more tests and even force user errors to see how your gui acts on that.
I also think that most, if not all users would highly appreciate it when the gui stores the last setup
and last opened source and destination paths and opens with these when launched again.
Note that moving setups to the job queue and process them works pretty well but your gui offers more
than simple batch conversions of single clips so the direct convert mode is just as important.
Since the direct convert mode is also very useful to check-out a setup before it is moved to the
job queue, a cancel (stop) button is also essential there. And add the option to open the converted
clip at the destination path in the system default video player like you already did for the loaded
source files. A very simple but useful feature.
Last edited by Chris K; 26th Aug 2014 at 05:50.
@Chris K: Can i put bluray_compat always enabled or thre is a downside of that?
FFmpeg description is "iPod H.264 MP4 format".
Perhaps add a command field where the user can add its own additional commands to the settings form the dropdown lists.
Thanks again Chris for your valuable input on this.
I didn't have enough time to even create a few links on the page to files directly ...
P.S. You can stop a Run Now task by going in Job Queue and press Stop.
FFmpeg log when they introduce errors.
P.S. You can stop a Run Now task by going in Job Queue and press Stop.
ANOTHER BIG RELEASE!
- Added Preferences in main menu. Please learn how to use Latest option because in the feature i will not ship FFmpeg anymore.
- Added Test Run.
- Now you can rearrange and remove source files.
- Metadata edit for stream and container.
- Show complete stream and container info.
- x264 and x265 extra settings field (ex. put there bluraycompat, etc)
- More output container options.
- On failure does not clear settings.
Have fun and, please, provide feedback or donate !