VideoHelp Forum
+ Reply to Thread
Results 1 to 4 of 4
Thread
  1. Hi, I've been googling for the past 3 hours and I cannot find a solution for my problem. I have a folder with nearly 300 .mkv files. They all have several audio tracks and subtitles. In all of them, the desire audio track is always the first one (my language) and I do not need subtitles. I want to batch remove all the other audio tracks and the subtitles, but I cannot seem to find a software that does this without reencoding and all the threads I've seen so far did not help me. I've tried MKVToolNix but I fail to see any option to add all 300 files and only choose the first audio track for all 300 files. Any help? thanks
    Quote Quote  
  2. for %%a in (*.mkv) do mkvmerge -o "output/%%a" --audio-tracks 1 --no-subtitles "%%a"
    This assumes the desired audio track always has TrackID #1 (counting starts at 0 with 0 usually being the video track). You can also use the code of your language (e.g. "eng") instead of "1" if the source has that information.
    https://mkvtoolnix.download/doc/mkvmerge.html#d4e1751

    Or try MKVBatch.
    Quote Quote  
  3. If it's that straightforward you want a GUI, could also so it with AnotherGUI. Put mkvmerge.exe in the same folder as AnotherGUI and create a preset specifying mkvmerge.exe as the Executable. Paste the following into the new preset's first pass section (setting default tracks is optional, and maybe not even necessary):

    --audio-tracks 1 --default-track 0:yes --default-track 1:yes --no-subtitles "<FullSourceFileName>" --output "<OutputPath><OutputFileName>.mkv"

    Save the preset and drag and drop your MKVs onto the GUI (I'll confess I haven't done so with 300 files myself, but I don't see why not). You'll have to click on one of the files after adding them, use CTRL+A to select them all, then click "Change Output Path" to select a location. If you don't, the output path defaults to the same as the input path and the process will fail because the input and output file names will be the same.

    Under AnotherGUI's Preferences menu, set the number of processes to one, otherwise it'll attempt to remux multiple files at a time, work your hard drive hard, and probably take much longer.

    When you've set the number of processes to one and a new output location for the files, click "Go".
    Quote Quote  
  4. ffmpeg
    FOR %%a IN ("*.mkv") DO (ffmpeg.exe -i "%%a" -c copy -sn -f matroska "%%~na_.mkv")
    Quote Quote  



Similar Threads

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