Friday, April 25, 2014

dmMediaConverter - v2.1.0




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.

Main features:

  • stream copy (video, audio, subtitle)
  • stream conversion - almost any codec into: 
    • video - h264, h265, vp8, vp9
    • audio - aac, mp3, flac, pcm, vorbis, opus
    • subtitles - srt, ass, ssa, mov_text, dvdsub
  • add multiple streams into one mkv, mp4  or any other container known by ffmpeg that accepts multiple streams (with or without reencoding). Supports multiple video streams in the same file. Also you can reorder stream position.
  • stream profiles - create and apply audio and video profiles
  • merge files with the same properties - no reencoding. Ex. Files made by a phone or camera.
  • merge different kind of files (different codecs, resolution, etc) into one file. It chooses an output with the biggest width of all source files. 
  • split or trim a file by given time points (no reencoding)
  • bulk convert files using stream profiles or manual settings (no filter options for manual)
  • job queue - you can add multiple tasks into a job queue
  • parallel jobs - you can run multiple jobs in the same time (multithreading)
  • audio auto gain detect - it will parse the whole file and find the proper gain value (reencode)
  • picture settings - with changes immediately displayed (reencode)
    • scaling - change video resolution (use -2 to keep the aspect ratio)
    • cropping and padding
    • auto crop - detect best crop values for encoder
    • rotate picture in 90 degrees increments
    • grayscale
    • deinterlace
    • deshake
    • burn subtitles (only text based for now)
    • watermark
    • manually add FFMpeg video stream filters
  • video aspect correction - no reencoding
  • write stream tags like language and title, also container title and creation time -  no reencoding
  • copy, add or modify any metadata to stream and container.
  • multiplatform

Quick start-up guide:
1. Select job type
2. Add source files
3. Modify stream parameters.
       - "Enable" checkbox - means that the stream will be present in the output file
       - "Copy" checkbox - stream will not be reencoded, only copied, so, stream options (lower part of the app) will be disabled. To modify stream just unckeck it and you will be able to choose codec and various audio / video options.
      - To enable Picture settings on a video stream (crop,   pad , rotate, etc) first, you need to uncheck "Copy" and click the video screenshot or just click on Picture Settings button. Options seted here will be automatically saved when you close this window. If you reopen "Picture Settings" later all settings for that video stream, now, will be preserved.
4. Hit "Run now" button to start conversion. The application will ask you for an output file and depending on the file extension chosen will use the proper format (container). i recommend Matroska (.mkv)  because it is compatible with all the codecs available in the app.
5. Sit back and wait for it to finish. What you see in the Output tab is exactly the ffmpeg output. You can approximate the progress by looking at the written time (100% = source file duration).


Use stream profiles:
  1. create - You are able to create a new stream profile only in convert mode but you can apply them for different job types. So, first import a file and unckeck copy. Then make desired settings and from Main Menu : Profiles - Add, choose a profile name, just make sure it is a meaningful one. That's it. You must create different profiles for audio and video. A video profiles also stores filter settings (Picture Settings). Using profiles is the only way to apply video filters in bulk mode.
2. apply - Just right clik on audio or video stream settings panel and apply desired profile.
3. delete - From Main Menu choose Profiles - Delete and pick the your desired stream.

Use Bulk mode:
 Let's start with an real example: Extract audio from Youtube videos and convert them to mp3s (mp4 to mp3).
1. Select Bulk mode and drag and drop your files.
2. From bulk mode set Video to "None".
3. Set Audio to "Audio Tab" and then press audio tab and choose mp3 encoder.
4. From bulk tab again choose container mp3 and select an output directory. That's it. Press Add Job and click Start.

Here is another option: nth which means to extract only the nth audio stream form the file. It is useful when exporting to containers that accept only one audio stream and source files contains multiple tracks.

Rip and Convert DVD, BD and ISO files:
dmMediaConverter does not support ripping DVD, blue ray disks or ISO files. So, you need an companion app, and i have found the perfect match for it, MakeMkv.
MakeMKV is the best ripping software i sow so far. It is small, efficient and has a windows, mac and linux client. It does not do any compression, it only dectypts the mpeg2 dvd stream and it saves it into a mkv container. A very fast operation.
So, first,use MakeMkv by opening the disk/iso file then choosing the desired titles and the output folder for mkv files. It generates an file per title. The mkv contains the raw mpeg2 ac3 and dvdsub streams, which are big.
Then,  with dmMediaConverter you can change them into anything you like. So simple. :-)
http://www.makemkv.com/

Add Watermark / Logo:
dmMediaConverter, now (v1.8.0), can watermark a video file. You can use the recommended  png image format or jpeg (also another video file - buggy) .



Help videos and examples:
https://www.youtube.com/playlist?list=PLwURYFQvHBAtG8wqzyVgOQ1WtEYSkiscO


Some notes:
       It is a multiplatform app written with Lazarus IDE. It supports Linux, Windows and Mac. The native Mac version it is available on Amazon for 5$, see the link below. For free on Mac, you can use Windows version under Wine (WineBottler), it is working just fine.
I do not know it yet or promise that the app will be released as Open Source. Nevertheless, it will be free here.
If you like the app and want to continue it's development, please donate. Any amount will be appreciated.
With this app i also distribute a ffmpeg static build without modifying any of its source files. I have not studied, yet, legal implications.
The app has no installer, it is a portable app so just extract the app folder anywhere you like. For Linux just check executable permissions for the app, ffmpeg and ffprobe binarys from bin sub-folder.
Now, on Debian systems, (ex. Ubuntu) you can install the app using DEB files for x86 and x64. Just hit "Download app" link. The same form RPM files.

Please report impressions, bugs and features requests.

Known issues:
  - you tell me!

If you like my app and you have an Amazon account, please RATE IT or BUY it ;). You can vote without a purchase. See the Amazon links below.
Also, donations are highly appreciated, they will keep me going :-) 

Thank you.


Changelog:

2017.03.30 - v2.1.0 - A lot. :-)
                    - Now you can have special characters in file names on windows and single quote on linux systems.
                    - FFMpeg progress output is done on single line.
                    - Clear settings when done option (default on).
                    - Split:  new Trim mode
                    - More... no you could manually specify input file format (in case FFMpeg auto detection fails)
                    - NVENC on Linux x64 and Windows.
                    - Intel QuickSync on Windows (you must have Intel Media SDK installed). If you manage to get the SDK installed on Linux it should be working also.

                    - Lots of bug fixing
                    - 
Updated FFMpeg binary with latest version
                    - WinXP - no longer supported. You could use this version with a ffmpeg binary without mfx.
                 
2015.09.11 - v1.8.0 - Watermark. Doubble click on image to quickly position the logo.

                    - First Mac OSX native build. Available on Amazon for 5$.
                    - Estimate encoded stream size if the encoding type is CBR.
                    - Small UI fixes and refinements.
                    - Small bugs fixes.
                    - Updated FFMpeg binary with latest version.
2015.05.21 - v1.7.0 - Burn text based subtitles (not yet picture based).
                    - Now you can manually specify additional FFMpeg filters (More) for audio and video streams.
                    - On linux it removes automatically "'" from metadata. Workaround for MKVToolNix generated files.
                    - Added option for auto add subtitle file (only *.srt for now).
                    - Small UI fixes and bugfixing
                    - Updated FFMpeg binary with latest version
2015.02.05 - v1.6.0 - Added checkup for not overwriting the source file.
                    - You can assign dmMediaConverter to open media files. (ex. Right clik on file and "Open with..." dmMediaConverter's executable). You can use it like media info.
                    - Now bitrate will be shown in kbit/s for better readability. 
                    - Small UI fixes 
                    - Updated FFMpeg binary with latest version
2014.10.31 - v1.5.0 - MAJOR RELEASE
                    - Parallel jobs - you can run multiple jobs in the same time
                    - Initial job progress implementation
                    - Split UI improvements
                    - Running under WINE is more robust now (Mac Os)
                    - Internal code rework - multithreading
                    - Some bugs fixed
                    - Updated FFMpeg binary with latest version
2014.10.16 - v1.4.0 - Internal release
2014.09.29 - v1.3.0 - Internal release
2014.09.16 - v1.2.0 - Bug fixing
                    - 
Updated FFMpeg binary with latest version (2.4).
2014.09.12 - v1.1.0 - ANOTHER BIG RELEASE!
                    - x264 and x265 extra settings field (ex. put there bluraycompat, etc)
                    - Metadata edit for stream and container.
                    - Show complete stream and container info.
                    - More output container options.
                    - Added Preferences in main menu. Please learn how to use "Latest" option because in the future i will not ship FFmpeg anymore.
                    - Added Test Run.
                    - Now you can rearrange and remove source files.
                    - On failure does not clear settings.
                    - Some code rewrites and bug fixing.
                                       Updated FFMpeg binary with latest version.
2014.08.21 - v1.0.0 - MAJOR RELEASE!
                    - Stream Profiles! Now you can define profiles for video and                       audio streams individually. Note: It does not store                                 aspect ratio, this is by design. To apply it just right                             click on video or audio tab.
                    - Bulk Convert mode! Convert multiple files at once.
                    - 2 pass encoding for video codecs - Works in Convert and                           Bulk mode only.
                    - Reorder streams - just drag them in desired position
                    - DeShake filter - i use default settings for it. It is not                         impressive. I do not recommend it but you can try it.
                    - Creation_time tag - Now you can add or modify this                               container tag. Useful if you upload media and sort it by                         date (ex: G+ albums). 
                    - Picture Settings are preserved when you reopen the form.
                    - HiDPI support
                    - Play file in external app (default system player) by dbl                         click on source file.
                    - Added all ISO 639-2 language codes :-)
                    - Lots of squashed code and UI bugs
                    - Added color coded stream types for easy identification.
                    - Updated FFMpeg binary with latest version.

2014.07.03 - v0.9.9 - Workaround for win32 trackbar missing label problem.
                    - Drag and drop source files initial support.
                    - Small UI fixes.
                    - In Split mode now you can select which streams will be                           prezent in output file.
                    - Updated FFMpeg binary with latest version.
2014.05.28 - v0.9.8 - Config file respects OS user's config directory 
                    - Added DEB files. Thanks to Alin Andrei from webupd8.org :-)
2014.05.27 - v0.9.7 - Visual bug corrected.
2014.05.27 - v0.9.6 - Added support for VP8,VP9,Opus,Vorbis 
2014.05.27 - v0.9.5 - Show start-up hints
                    - Updated FFMpeg binarys with latest version.
2014.05.21 - v0.9   - UI cleanups
2014.05.16 - v0.8   - Compiled for Linux x86 
2014.05.15 - v0.8   - Added to many things to remember all
                    - Stable release
2014.04.25 - v0.7   - Added audio auto gain detect.
                    - Crop detection bug resolved.
                    - Some UI cleanups.
2014.04.24 - v0.6   - The windows build is on the same level as Linux one.                              - Added crop detection button in "Picture settings". 
2014.04.17 - v0.5   - Initial release.









164 comments:

  1. Gives error when closing app
    Laptop 64bit Win 8
    Error
    Heap dump by heaptrc unit
    22748 memory blocks allocated: 8093388/8154280
    22748 memory blocks freed :8093388/8154280
    0 unfreed memory blocks:0
    True heap size: 229376(160 used in System startup)
    True free heap: 229216

    Desktop 32bit Win 7
    Error
    Heap dump by heaptrc unit
    24279 memory blocks allocated: 7639670/7702248
    22279 memory blocks freed :7639670/7702248
    0 unfreed memory blocks:0
    True heap size: 229376(160 used in System startup)
    True free heap: 229216

    ReplyDelete
    Replies
    1. Sorry, it is a harmless debug message showing that the app has no memory leaks (0 unfreed blocks).
      I will remove this on next version. Sorry for inconvenience.

      Delete
  2. I'm really loving this software, cause it let you adjust things exactly the way you want them to be, and hope that it will gain popularity in the long term, so don't drop this project! A suggestion: it would be nice if it didn't automatically reset the settings after a job fails/is completed, so that I can restart it/process more files needing the same settings. A "reset" button might be a solution. Thanks again, 'n' keep it on :)

    ReplyDelete
    Replies
    1. (forgot it, I'm using the Ubuntu software centre version)

      Delete
    2. Thank you for your kind words :-)
      Regarding not resetting settings... i can not do it because will introduce a lot of inconsistencies (ex. if you are adding a file with a different number of streams ..). The proper way to do it is to introduce profiles which are on my to do list but i must figure it out how to do it first. :-|

      The Ubuntu Software Center has an older verion (0.9.8). I have already posted the new version but it take a little longer than expected to get reviewed by them...
      You can download the 0.9.9 deb and just click on it and the app will get updated, no need to wait.

      Delete
    3. Verison 1.0.0 now has a bulk mode and stream profiles that can help you achieve what you want. Please test it and tell me what you think. Thanks.

      Delete
  3. The app is great, thank you for making it free. It is much simpler than the rather intimidating interface of Handbrake. An option for multi-pass encoding would be nice. It makes it easier to get the required file size, instead of having to guess RFs.

    ReplyDelete
    Replies
    1. I will see what i can do...This will set me back a little because i was preparing a new release. Thanks for your feedback.

      Delete
    2. Verison 1.0.0 has 2 pass encoding. It works everywhere but in Merge Different mode. Please test it and provide feedback. Thanks.

      Delete
  4. New version out v1.0.0. Major release!

    ReplyDelete
  5. Nice program! I'm currently testing this in various Puppy Linux related distributions with the help of other Puppy murga forum members. Owing to these being tiny Linux distributions, to save installation size I am testing using the distribution's own installed ffmpeg rather than the one you provide. Worked well in Initial tests in most recent DebianDog and Puppy Slacko 6beta. However, not with the ffmpeg provided in default Puppy Precise 5.7.1. In that distribution, ffmpeg/ffprobe are actually just symlinks to avconv/avprobe. For the most part that should be fine, but dmMediaConverter seems to use the ffprobe option -print_format, which avprobe doesn't understand (both ffprobe and avprobe would understand '-of' as far as I know though, which is an equivalent I believe). May be other avconv/avprobe issues, but not many I expect since on the whole they have equivalent options available. Aside from that glitch, looks good for Puppy use, without adding much bloat at all! The relevant Puppy thread during testing is here:

    http://www.murga-linux.com/puppy/viewtopic.php?t=95473

    Many thanks for this application! :-)

    ReplyDelete
  6. Hi, i am glad that you like my application and you find it useful to build Puppy linux packages for it. When i have started development of it i have tested both ffmpeg and avconv and i have found more differences then -print_format if i remember correctly. If-of option does behave the same i will include it in my next version.
    If i am able to assist you in any way don't hesitate to ask. Thanks.

    ReplyDelete
  7. Thanks greatly for your quick reply and offer of assistance, Marius, which is much appreciated. I note from the currently published avprobe official documentation, that it supports options "-of ini" and "-i", but not "-print_format ini". The older version of avprobe used in Puppy Precise 5.7.1, however, turns out to support none of these options. I'll certainly report back to you with any useful feedback from our Murga Puppy Linux forum and will also try to test on some system that uses a more recent version of avprobe (albeit substituting -of for -print_format). Looking forward to further developments of your program, which I'm sure will be highly regarded.

    ReplyDelete
    Replies
    1. Hi, can you test version v1.1.0 with option File-Preferences-System installed. Thx.

      Delete
  8. Hi Marius, One tester at Puppy Linux forum commented about a Lazurus-related issue in the following forum post:

    http://www.murga-linux.com/puppy/viewtopic.php?p=797145#797145

    quote:

    "This isn't dmMediaConverter bug. It is Lazarus "compatibility problem" with newer libraries. I have a Free Pascal IDE which is built on Lazarus (it's part of freepascal SFS for Fatdog 600). That IDE fails with exactly the same error message. The compiler itself works, and other IDE that doesn't depend on Lazarus works too."

    ReplyDelete
    Replies
    1. Hi William, i have read the post but i don't think i can do anything from my part to solve this issue. The only thing that i could do, is to make the application with another widgetset, which is not the case right now. Sorry.

      Delete
  9. Added Arch with version 1.0.0. The application has been published on AUR by user Dea1993, many thanks to him. :-)

    ReplyDelete
  10. I am preparing for v1.1.0. Stay tuned! :-)

    ReplyDelete
  11. On Mac the application runs just fine with WineBottler :http://winebottler.kronenberg.org/ Install this and then download and run the win32 version of my application

    ReplyDelete
  12. Hi Marius

    Just tried your app for the irst tiome looks good. But unfortunately the job failed, probably due to my incorrect settings. the error was

    Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument

    I have come from using Final Cut Pro on mac which imported AVCHD MTS files directly. I want to edit using Cinelerra which doesn't handle mts files. So I want to do a straight convert of video and audio to MPEG-4 and then edit.

    I am not understanding some of the terminology like "streams" does that mean the video tracks and the audio tracks? if so what does a HD recording with one stereo audio track have?

    Can you please explain what I need to do to do the conversion. I would greatly appreciate the help, then I can assess what appears to be a good app.
    TIA Doug

    ReplyDelete
    Replies
    1. Hi Douglas, a video (multimedia) file has multiple streams encoded with some particular codec encapsulated into an container file. In your case, the mts files has one video stream encoded with h264(i think) and one audio stereo stream encoded with ac3 (my guess).
      Now, you could do an direct convert of your file by naming the output file with an mp4 file extension. If it fails than try to convert only the audio stream (uncheck copy) and choose AAC codec with a 320 KB/s bitrate.
      If it still fails than you need to convert the video stream also, uncheck copy, select h264 codec, coose an 22 crf and you are good to go, it will take an while but this is your only option. Please, use the trst buton (next to Run Now) to test your settings (it will only encode 5 seconds).
      Also, please, tel me how it goes. Thanks

      Delete
  13. Now, on Ubuntu Software Center the application cost 3$and i will consider it as an donation. This change was made because some people gives bad review without making the minimal effort to read anything. Also the version there is old, so it will force people to download it from here, where, it always will be free. Sorry for this.

    ReplyDelete
  14. I think that i will release a new version until end of the week ...

    ReplyDelete
  15. Hello Marius,
    You made a great job with this software, but Ido not have success with .wtv files and also most of my .mkv are not processed correctly. The analysis phase failed to recognized the containers and the streams. All I have in the "output" tab is this line :
    # ffprobe output
    No problem to process other files like MP4, or some rare mkv. I suspect some troubles with file name, but not sure at all.
    I am on Win7 64 bits. I had to move the ffmpeg binaries into the mdMediaConverter directory.

    ReplyDelete
    Replies
    1. Hi Bernard, on Windows i have a problem that if the console (cmd.exe) code page differs from the one used to encode the filenames then it will not work. Try to remove special characters (ex. non english letters ) from the file names and see if it works. Please, report back. Thx

      Delete
  16. You are right, the bug occurs when filenames includes French lettres (such as é, è, etc...).
    The software do not support any french letters, even in the path name.
    Bad luck: I want to convert my recorded TV from Mediacenter. They are .wtv files located in
    "\TV enregistrée" directory, that is why I can not convert my .wtv files !
    If i move the files to "TV" directory, no more problems for your software, but it is not convenient to use.
    besides this bug, your GUI is one of very rare software that support correctly .wtv conversion, including multi-audio and with subtitles ! so it should be helpfull for every HTPC owners.

    I am cuurrently running a conversion, that should work. I know how to use ffmpeg as a command line, but for some special cases your GUI is obviously more convenient.

    I do not succeed to create stream profiles, the "add profile" is always disabled. ? a side effect of directory naming problems ?

    ReplyDelete
    Replies
    1. Hi Bernard,
      You could start using an Linux based OS linke Ubuntu where this bug does not exists! I am an linux fan as you can tell :-p Leaving the jock aside, it is all about matching characters code pages , when windows cmd.exe (command prompt) will display correctly this file names than, theoretically my software will work.

      Add Profile is enabled when a video or audio stream is selected and copy chackbox is unchecked (and you have done all desired steam settings). You can apply that saved profie by right clicking on "Encoding settings" area , also , copy should be disabled, or you can apply profiles to multiple files in bulk mode.

      Thank you for your feedback and please tell me id Add Profile works for you.
      Regards

      Delete
  17. Big thanks for the GREAT program. But PLEASE, x64 version for WINDOWS too. Thanks in advance. :-)

    ReplyDelete
    Replies
    1. Hi, you don't need an x64 build of the GUI. You can replace the FFmpeg binaries with x64 ones and you will get what you want. Download them from here:
      http://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-20150126-git-f994000-win64-static.7z

      Delete
  18. New version, v1.6.0 ! Minor release.

    ReplyDelete
  19. E FOARTE TARE! Simplu si ff functional, l-am testat pe niste fisiere .AWLive si merge perfect. il recomand !

    ReplyDelete
  20. Hi,
    Happy new version to all.
    Since long ago I wanted to say to you "Thanks".
    You have created an extremely useful software tool, which have costed you great labour.
    As I said, we lived long enough to see someone write a thing like that.
    Stay alive and healthy.
    It's very easy to work with dmMediaConverter. It's a wonderful helper while working with multimedia files.
    I pray that you have strengh and nerves to develop the project.

    ReplyDelete
    Replies
    1. Thank you so much for your comment. This is what keeps me going. :-)

      Delete
  21. Help!
    I want to install your software, but get the message: "This process requires the installation of packages from unsigned sources". I haven't found a solution in the web. What shall I do?
    Thx, Andrew

    ReplyDelete
    Replies
    1. Hi. It is simple. Open terminal, go in Downloads folder (cd Downloads) and type:
      sudo dpkg -i dmmediaconverter.XXX.deb
      Did it work?

      Delete
  22. Thank you Michele Franzolini for your donation. :-)

    ReplyDelete
  23. Is it possible to make a "Concat" action in order to join multiple files?
    Congratulation for this project.

    ReplyDelete
    Replies
    1. Hi, this is what "Merge" function does! ;)
      If you have different kind of files (different codecs, rezolutions, etc) use "Merge different" options.
      Plese reply is this is what you want.
      Thx.

      Delete
    2. Thank you very much Gabi for your donation. :-)

      Delete
  24. can you add an option to add a AAC 2.0 as first audio track if the only track in file is AC3, DTS, DTS-HD ,etc ?, as well as keeping the original audio track as 2 track ?

    thanks.

    ReplyDelete
    Replies
    1. I think you can do it like this: Add the source file twice, modify the audio from the first one as you like and from the seconf file unckeck (enable) the video stream and leave copy for the audio one. You should have 3 checked streams in total , one video and 2 audio (one beeing modified). Press Run Now and tell me if you succeded! :-)

      Delete
    2. that is what was try to do below.

      Delete
    3. For me, it is working..i have tested it. Sorry. Just a thought: Try to remove stream / container metadata.

      Delete
  25. when i try to run it is error as below.

    of: 1: of: /opt/dmmediaconverter/bin/x86_64-linux/ffmpeg -fflags +genpts -y -i "/home/andrewblackburn/Videos/test.mkv" -map 0:0 -c:v:0 copy -aspect:v:0 16:9 -metadata:s:v:0 "language=eng" -metadata:s:v:0 "BPS=5334782" -metadata:s:v:0 "BPS-eng=5334782" -metadata:s:v:0 "DURATION=00\:43\:36.739000000" -metadata:s:v:0 "DURATION-eng=00\:43\:36.739000000" -metadata:s:v:0 "NUMBER_OF_FRAMES=62739" -metadata:s:v:0 "NUMBER_OF_FRAMES-eng=62739" -metadata:s:v:0 "NUMBER_OF_BYTES=1744966642" -metadata:s:v:0 "NUMBER_OF_BYTES-eng=1744966642" -metadata:s:v:0 "_STATISTICS_WRITING_APP=mkvmerge v7.6.0 (Garden: not found

    ReplyDelete
    Replies
    1. hmm, shame this app was just what i was looking for, i do have mkvmerge (v7.8) installed.

      so can you not debug your app to what is '_STATISTICS_WRITING_APP" ?

      Delete
    2. This is from medatata in the file... i think this is the cause of the failure. Try to remove it.

      Delete
    3. Remove video stream metadata. Right Click on the video stream (From Stream list) and delete the whole page.

      Delete
    4. now i get this

      Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument

      Delete
    5. http://pastebin.com/CYetWga4

      Delete
    6. after disabling subtile track seem to be running, but each time i have to remove meta info from video/audio tracks.

      Delete
    7. adding 2 copies of same file and disabling other unneeded tracks, result in a file with NO AUDIO tracks at all.

      Delete
    8. If you want i can provide you with a test version of my app that drops " ' " automatically on linux.

      Delete
  26. That is strange. Again for me it is working. Just be shure that enabled checkbos it is ticked for both aof them.
    You do not have to remove the whole metadata, just edit it and remove every accourence of the apostrophe character ('), you can not have this in a linux command escaped.

    ReplyDelete
    Replies
    1. hmm, strange, any way to do this with job mode ?

      Delete
    2. I think it could be done using video stream profiles. Use convert mode. Add a file with bad metadata, leave everythung enabled and copy checked but right click on video stream and edit metadata, just add for example language=eng.
      Then, from menu add a video profile with a name as you like.
      Now, using bulk mode add all files with this bad metadata and on vidoe option use that stream profile. Now hit add job and then start the queue. Resulting files should have video metadata removed. Please tell me if it works.

      Delete
  27. Hi! How do I convert from mkv to mp4?

    ReplyDelete
    Replies
    1. Hi, just put .mp4 extension to the output filename.

      Delete
  28. Is it possible to add a watermark?

    ReplyDelete
    Replies
    1. In the latest version you can do this manually (it is very simple):
      In Convert mode, first add video file and the the logo (PNG image). Uncheck Copy for the movie video stream and choose desired encoding settings.
      Press "More" button and in "Other" add this:
      -filter_complex "[0:v][1:v]overlay=main_w-overlay_w-10:10"
      This will overlay the picture on top of the video at 10,10 pixels from the top right corner. Note that you can not use any additional Picture Settings Options.
      Press Run Now, choose an output file and enjoy ;)

      Delete
  29. Replies
    1. i'm updating AUR versione of the package for archlinux.
      but i've a problem with x86_64 version.
      when i try t download x86_64 version of tar.gz package, google says me that this is a large file (bigger than 26MB) then he can't check the file from virus.

      then this warning make not possible to download the file from wget or curl (makepkg use curl for download file) then he can't download x86_64 version of the software.
      then i need a direct link for this version.
      thanks

      Delete
    2. Hi, can you use this link?
      https://www.mdonline.ro /FileHosting/Blogger/dmSimpleApps/dmMediaConverter/dmMediaConverter_v1.7.0_linux_x64.tar.gz
      ths.

      Delete
  30. Thank you Jan Bour for your kind donation!

    ReplyDelete
  31. Thank you Daniel Yargici for your generous donation! :)

    ReplyDelete
  32. If you want I could help in develop,for example watermark or UI and maybe in the core part but my specially is in graphic and UI.
    If you want to talk about this contact me.

    ReplyDelete
    Replies
    1. Hi Ara and thank you for the offfer. But, since i charge for the app on different sites this can not be done. Sorry for the late reply.
      As a coincidence, i have done some basic watermark gui for the upcoming v1.8. :)

      Delete
  33. Really I didn't understand your excuse but I wish you success and I'm waiting for 1.8 ;)

    ReplyDelete
  34. Hi Marius! Thanks for your excellent app. I think it's the best ffmpeg frontend I've ever used! If I can suggest something: it would be very useful to add a bitrate calculator or at least something like "estimated filesize info". How do you find it?

    ReplyDelete
    Replies
    1. +Thomas Stanisz Check version 1.8.0 i have implemented some sort of stream size info if the encoding type is constant bit rate (CBR). If the encoding type is constant quality then it is impossible to calculate it. What do you think?

      Delete
    2. Thanks, that's just what I was meaning :)

      Delete
  35. Thank you CARLOS LOPEZ BELENGUER for your donation!

    ReplyDelete
  36. Now you can buy an native MAC version (v1.8.0) from Amazon for 5$.
    http://www.amazon.com/gp/product/B0158GZ136
    I hope you like it.:)

    ReplyDelete
  37. Thank you Nicolas Lossec for your donation!

    ReplyDelete
  38. A big thanks to my good friend Adian Hoinaru for his kind donation. ;)

    ReplyDelete
  39. hi I'm trying v1.8.0 on centos 6 with a .ts file, trying to convert it to avi but the program says:
    'Cannot map stream #0:4 - unsupported type.
    If you want unsupported types ignored instead of failing, please use the -ignore_unknown option'
    I don't know where this option is. There's a 50 second sample of the original .ts video here:
    http://198.91.92.112/video/test.ts,
    and here;s the full error scroll:
    http://198.91.92.112/video/dmmedia-error.txt
    could you take a quick look and point out if I'm doing something wrong? Thanks

    ReplyDelete
    Replies
    1. Hi Anthony...there are several problems. First is stream no 3, an mp3 audio which i think it is corrupted, you should uncheck "Enable" for that stream. And then it is stream nr 4 which iis unknown by ffmpeg. For this you have 2 options, first also uncheck "Enable" for this stream. The second option is to click "More" button and add to Other: "-ignore_unknown".

      Short version: Unckeck "Enable" for streams # 2 and 4 and you should be ok.

      Does it work for you? Thanks.

      Delete
    2. sorry no it doesn;t work, I disabled # 2,3,&4 but I still get 'Cannot map stream #0:4 - unsupported type.'

      Delete
    3. It is working for me using the provided sample. Try with -ignore_unknown option.

      Delete
    4. still doesn't work, now I get 'unable to find a suitable output format for 'ignore_unkown'

      Delete
    5. Don't forget the dash in front..."-ignore_unknown"

      Delete
    6. ah thankyou the dash in front worked

      Delete
  40. I have two rather "cosmetic" remarks:
    1. Settings tab--->streams list. When the "Enabled" checkbox is unchecked (the stream is disabled), the "Copy" checkbox should be inactive at all (grayed out), but it's still active, though, of course, it does nothing.
    http://zapodaj.net/ab95330a11828.jpg.html
    2. Job progress (left bottom window corner): When 2-pass decoding is running in the brackets there is "2" digit. Should't it be more logical to display "1 of 2" while the 1st pass is running and "2 of 2" during the second one?
    http://zapodaj.net/9577ee7d99fa5.jpg.html

    ReplyDelete
    Replies
    1. Hi, regarding your suggestions:
      1. The stream turn gray....this visually means disabled....so copy checkbox does nothing...i think this does not confuse users.
      2. Unfortunately "2" means that will be 2 steps....in may program logic i have no way to tell in which step the ffmpeg is running. I have designed this that when you start a job, it is passed to the OS completely, with all the 2 step information, so if my app crashes the ffmpeg job will continue to do the encoding until it finishes.
      Thanks.

      Delete
    2. Thanks for your reply:)
      Another question: What about other language versions?

      Delete
    3. Hi, the effort that i have to do to make the app multi lingual will have little real beneficial effect, majority of the people will know what is written on the app. For the little time i have to develop this app i prefer to add or polish functionalities.
      I think that greater effect will have demo youtube videos spoken in other languages. What do you think?

      Delete
  41. Trying to split a clip at an exact point is too challenging with the mouse.
    Wiping out data all the time a freaking annoying.
    Threw away $5.
    Sell the source please. You're not gonna make it do exactly what I want and keep everyone else happy too...
    Argh ;)

    ReplyDelete
    Replies
    1. You can use the ARROW KEYS for that fine positioning! It was explained in some post above.
      I am sorry that you fell this way.

      Delete
  42. Marius, nice work, your app is amazing.
    I have one suggestion, why don't you combine your app with MakeMKV? Probably there must be one interface in MakeMVK that could make it possible.

    ReplyDelete
    Replies
    1. Thanks Carlos for your kind words. The problem is that these apps are made with different programming languages, made by different people and serves different purposes. Mine is just a ffmpeg frontend, makemkv does not use ffmpeg. And, diversity is a good thing...in software applications ... ;)

      Delete
    2. I was thinking in some kind of integration between these two apps. You said that media ripping is not the purpose of your app, but if one day you realize that this feature could be a good idea you could think about it. No need to rework doing this. Of course, you would need to ask for authorization.

      Delete
    3. You are right i had my mind somewhere else and i confused MKVToolNix with MakeMKV. The are complementary apps and both of us will want to preserve his app. So ... what i want is that ffmpeg to have the capability to read ISO files and then i will implement this in dmMediaConverter.

      Delete
  43. Thank you Daniel Baechle for your kind donation!

    ReplyDelete
  44. Hi,

    best converter out there :).

    But I have one problem and one suggestion.
    I am using the Windows version and have a problem with stream profiles.
    I add a video, uncheck copy and change my settings. Now I should be able to add a profile but the button is still greyed out. Is there something I can do?

    And here my suggestion:
    Would it be possible to automatically set the output file? Like take the source filename and add a specific suffix to it. Example would be video.mp4 to video-1.mp4.

    ReplyDelete
    Replies
    1. Hi, thanks for your appreciation!
      First...i think it is a small bug. As an workaround for this try to add the file using the "Add Files" button from the left of the window and not by dragging it. Does it work now?
      Second ...it could be done but what if the renamed file exists ... should i just rewrite it or should i do something else. I will take this into consideration.
      Thanks.

      Delete
    2. maybe just a popup which asks for confirmation to overwrite the file, if it already exists.

      Delete
    3. Did you managed to create an stream profile using that workaround?

      Delete
    4. Yes using "Add Files" works fine :).

      Delete
    5. Another thing I noticed is that while jobs are running the converter takes all the cpu power. I cant even properly browse the web. I dont have this problem with handbrake for example.

      Delete
  45. Thank you Michael Brandl for your kind donation! :-)

    ReplyDelete
  46. What about the possibility for 'PAUSE' & 'CONTINUE' a job, so we can shutdown de PC?

    Thanks for your work!

    ReplyDelete
    Replies
    1. Hi LGM! By design my app has no control over the running ffmpeg job, in case my app crashes for any reason, ffmpeg will continue finish the job in background, not losing your time.
      Anyway...on windows there is no safe way to susspend an external process.
      What you need is just an OS function like putting your PC in STANDBY or HIBERNATE.
      IN HIBERBATE you can swich power off completly...saving all your RAM to disk and current state off all your processes...including dmMediaConverter. All major operating systems have this function in a stable form by now.
      Have i answerd your question? Thx.

      Delete
    2. Yea! that it's an excellent solution ;) Many thanks.
      It's a feature i always asked myself WHY nobody implement it, but now i understand that it's on the ffmpeg side.

      I use LinuxMint and im gonna give the hibernate solution for a try to see the stability (since i use x265 for re-compressing al my H.263 videos and it's a very slow thing).

      Will we see more filter in the future? (like sharpening, denoiser, VDub filters...)?
      By the way... Great for 'Deshaker'!!! (very necessay for mobile videos).

      Are you about to use Nvidia-CUDA or something for speeding up the thing? (i read ffmpeg can use that).

      I'm enthusiastic on your work. Thanks a lot!

      Delete
  47. great GUI, love it. But one question, can you tell me how you did calculate the job percentage in the footer when file will be encoded?

    ReplyDelete
    Replies
    1. Thanks Matthias.
      The percentage shown it is not very accurate and it is calculated based on total source length and time shown by ffmpeg output (i read line by line).
      It fails when you only convert a part of the movie (using -s or -tt options) and it runs twice too 100% when it is a 2 step job.
      I hope that i have made my self clear.

      Delete
    2. okay i understand. have you a little piece of code of the ffmpeg output reading for me? on my output i only get the whole output string.

      Delete
    3. I am sorry but i can not give you a part of my code. I am using a TProcess with pipes and reading into a buffer. Form that buffer i am looking for line endings and this is how i get individual lines. Then i read the time part and convert into a tdatetime. This is how i get the percentage.

      Delete
  48. best ffmpeg GUI i've seen, only get an error when trying to encode H.265 main10 profile.

    ReplyDelete
    Replies
    1. Thanks sprndrcr! Can you post the output log?

      Delete
  49. Here you are: http://pasted.co/633b0f36

    ReplyDelete
    Replies
    1. Strange, ffmpeg doen't accept main10 even if i am using the latest ffmpeg release with 10bit support. Rename ffmpeg-10bit into ffmpeg from the archive and you can give it a go but it doen't work.
      http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-32bit-static.tar.xz
      I have no ideea. Sorry.

      Delete
    2. No problem, i'll encode in 8 bit for now.

      Delete
  50. Thank you Michael Thompson for your kind donation! :-)

    ReplyDelete
  51. Dear Marius!
    Congratulations! This is a very nice frontend for ffmpeg.
    I was wondering, whether there is a way for changing the font of the subtitle. Also, it would be nice if it was possible to preview what the bunrt in subtitles will look like.

    ReplyDelete
  52. And is it possible to increase the font size?
    It would be cool, if there were more options at the subtitle section, so that the subtitles could be formated too.

    ReplyDelete
    Replies
    1. Hi Word Peace ;)
      In Subtitles tab there is a field called Forced Style where you can put some formatting options. Enter something like:
      "FontName='DejaVu Serif',PrimaryColour=#HAA00FF00,FontSize=40". You can just enter "FontSize=40" without the "" if you just want to change the size.
      Does it work for you?

      Delete
  53. Dear Marius,
    It needs a little experimenting, but it is working!
    Thank you, and God bless you! :)

    ReplyDelete
  54. Hey.

    Is it possible to get the Mac version for download in Europe?
    And does it support PAL?

    ReplyDelete
    Replies
    1. hey...do you mean the Amazon Version. You should beable to download it form https://www.amazon.co.uk/Dalacu-Marius-dmMediaConverter-Download/dp/B0158GZ136/ref=nav_signin?ie=UTF8&qid=1462769179&sr=8-2&keywords=dmMediaConverter&

      PAL it is a special framerate and resolution...the player should support it (25/50 fps with 720x576 resolution). Make note that this software does not encode in DVD format. It does not have mpeg2 codec (old) for encoding, only decoding.

      Delete
  55. When I tried to convert a .mkv to an .avi I got this error message:

    [avi @ 0x3508960] H.264 bitstream malformed, no startcode found, use the video bitstream filter 'h264_mp4toannexb' to fix it ('-bsf:v h264_mp4toannexb' option with ffmpeg)
    av_interleaved_write_frame(): Invalid data found when processing input
    frame= 1 fps=0.0 q=-1.0 Lsize= 16kB time=00:00:00.25 bitrate= 517.7kbits/s
    video:1kB audio:6kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 131.854446%
    Conversion failed!

    I solved this by manually executing the command explained here: https://www.ffmpeg.org/ffmpeg-bitstream-filters.html#h264_005fmp4toannexb

    So I opened the Linux terminal and typed:
    ffmpeg -i input.mkv -codec copy -bsf:v h264_mp4toannexb output.avi

    And it worked.

    Please fix this feature at the app.

    ReplyDelete
    Replies
    1. Hi Carlos.
      You don't need to run another ffmpeg command.
      Just put this option in "More - Other", like this "-bsf:v h264_mp4toannexb", without the quotas.
      This problems occurs only when you are converting to avi format, without conversion, if you do it without stream copying the it works just fine.

      Delete
  56. It's posible to resize (1080p to 720p for example) in bulk mode? I tried with some command in text params but not worked. It's posible? anyway it's best gui ever.

    ReplyDelete
    Replies
    1. Hi unknown!
      Of course it is possible! :-)
      You should make an video profile first. In convert mode, add an video file then Picture settings and at scale enter 720 for height. Close the Picture Settings window, and then choose your encoding parameters. From the menu add a new video profile. Name it as you want.
      Now, choose bulk mode , add your files and at video tab select your video profile. The rest you know it.

      Please tell me if it worked.

      Delete
    2. I saw these options, but are always unselectable. Any clue what im doing wrong? I try to make a profile with an mkv h264, nothing rare. Anyway it never doesnt let me chose any profile to load.

      Delete
    3. Could be an bug in the app if you drag and drop the files, try to add them with the Add Files button and you should have Add Stream Profile enabled. It is working now?

      Delete
    4. Marvelous. Yes, as you told, Drag'n'drop bugs add stream profile option. No problem knowing that. Works like a charm. thanks

      Delete
    5. Thank you Sam for reporting back. I think i will finally get rid of that bug in 1.9.... hopefully :-)

      Delete
  57. Hi, I have tried your great program for splitting features and I have a request to submit.
    Could you please add a new Job type in order to extract a clip from a video file between 2 time points ?
    I use the split mode but the process takes a lot of time because the program scans the entire stream.
    For example, if I need to extract a clip of 5 minutes from a complete movie, I have to split the stream in 3 files and delete the 2 useless files.
    Your program would be faster and more powerful with an "extract" mode.

    ReplyDelete
    Replies
    1. Hi, thank you for your feedback. Unfortunately, my application uses ffmpeg segment function which does not have this feature...the only thing that i could do is to generate all the split files and then delete the unwanted one,,,i can not overcome writing the unwanted parts...

      Delete
    2. The problem would be the same. The job will be too long. The best way is to use this ffmpeg fonction :
      ffmpeg -i file.mp4 -ss START_POINT -to END_POINT -vcodec copy -acodec copy output.mp4
      You could easily add this function and your application would be perfect.
      For the moment I use the command line to extract videos but it is not user-friendly.

      Delete
    3. Ok, i will see what i can do about it...

      Delete
    4. This feature will be present in version 1.9.

      Delete
  58. Dear Mr. Marius, I would have another subtitle related question.
    What is the code for adding a background for the burnt in subtitles? If it is possible to add a box (background),is it possibe to change the opacity of the box?
    It would be nice if the users would know, what commands they can use to change the characteristics of the subtitles.
    Also, in the future versions it would be nice, if a subtitle preview could be included.
    I still think, that this is probably the best interface for ffmpeg in linux.
    Under windows a program called Avanti is very powerful.But under linux this is probably the best!
    Congratulations again. May God bless you for all your selfless efforts to develop this very good program!

    ReplyDelete
    Replies
    1. Hi World Peace and thank you for your kind words! :-)
      This is an example for your needs that can enter in Force Style field:

      FontName='DejaVu Serif',PrimaryColour=&H0000FF00,OutlineColour=&HCC0000FF,BorderStyle=3

      The color format is as this &H + AA + BB + GG + RR (transparency,blue, gree, red)
      More info about ASS filter style here: http://fileformats.wikia.com/wiki/SubStation_Alpha
      I hope it helps.
      Please report back if it is working for you.
      Thanks.

      Delete
    2. Helo again....regarding the preview part i have done it in version 1.9...not available yet.
      You can read more about supported options in subtitle filter here:
      http://moodub.free.fr/video/ass-specs.doc

      Delete
    3. Mr.Marius thank you very much for the hint!
      In the meantime I also found this option in SMPlayer settings,

      (Fontname='Microsoft YaHei',Fontsize=23,PrimaryColour=&H00ffffff,BackColour=&Hff000000,OutlineColour=&H55ff0000,Bold=0,Italic=0,Alignment=2,BorderStyle=3,Outline=0.9,Shadow=0.3,MarginL=20,MarginR=20,MarginV=8)

      which also gave me good ideas on how to customize subtitles.
      and it was a pleasant surprise that when I moved the cursor on the preview window in DMMediaConverter preview window, it showed me a preview of the subtitles as well.

      Well, all I can say is, that for linux, this is the greatest frontend for ffmpeg so far!
      I wish you success in all your future endeavours!

      Delete
  59. Can you add option for selecting split points by frame?
    I think this is better and more precisely than selecting by time.

    ReplyDelete
    Replies
    1. Hi, sincerely i don't think that it is needed. You usually don't have over 100 frames per second and since you candadjust the ms slider with 1ms resolution that gives you 4 control points per frame for an average movie of 25 fps ...
      Anyway i will think over it.

      Delete
  60. Suggestion:
    Add a option to convert an 5.1/7.1 audio stream to stereo 2.1.
    Today I had to to it manually using the command explained here: http://superuser.com/a/1041865.

    ReplyDelete
    Replies
    1. Hi Carlos, dmMediaConvertor does this from version 1. In Audio stream choose Channels from "Same" to "2.1" or anything that you want.
      It will downmix from whatever to 2.1.

      Delete
    2. Cool, I didn't see that before, thank you.

      *Bonus Suggestion:
      Maybe you could create a helper inside the app where the user can search for a key word and find related help information about it, for example, I didn't know that there was an option to downmix audio stream, so if I open this helper and search for the term:
      "2.1 audio", or "stereo" or "convert audio channel" it would display high lighted information that has these key search terms.

      Delete
    3. Yes, i try to do an online web page ...but i always had other things to do ...

      Delete
  61. Hi @Marius I'm Dea1993 the mainteiner of ArchLinux package of dmmediaconverter.
    I'm sorry but i must abandon the maintenance of the ArchLinux package.
    I hope that someone will continue my work.
    sorry again

    ReplyDelete
    Replies
    1. I am sorry too Andrea. I wish you well.

      Delete
  62. Hello. I'm using version 2.1.0 of your program and I ran into a problem that I'm unable to resolve. When I open up a file it appears in the area that says 'Source Files' and the area that says 'Streams' is empty. Because of this I'm unable to adjust any settings like video encoder settings and audio encoder settings.I'm unable to encode any videos and if I click on an area that isn't greyed out like the picture settings, I'm met with a popup that says: "" is not a valid boolean. Press OK to ignore and risk data corruption. Press Cancel to kill the program.

    I've used your program a lot and this is the first time I've run into a problem like this. Can you please help me? I've attached a screenshot below.

    http://imgur.com/a/lNRsZ

    ReplyDelete
    Replies
    1. Hi. Unfortunately from the screenshot i can't tell much. i think the ffmpeg binarys are not present or not marked as executables. What operating system do you use?

      Delete
    2. I use Arch Linux, and I managed to get it working just now. I originally downloaded the x64 file from your Google Drive and that's the one that didn't work for me. I just downloaded x86 file and this one is working fine.

      Delete
  63. Thank you William Pereira for your kind donation!

    ReplyDelete
  64. Thank you Kris Van Impre for your donation!

    ReplyDelete