dfaust / mkv-bash-tools Goto Github PK
View Code? Open in Web Editor NEWA collection of BASH scripts for processing mkv files
License: GNU General Public License v3.0
A collection of BASH scripts for processing mkv files
License: GNU General Public License v3.0
I've been using this specific script for years to automate the sub extraction from mkv files. I used my own to do the encoding .. etc .. but I found this script very helpful.
I recently built a new Linux machine using Fedora 30 and for my surprise all my scripts were working except for this. My family needs the subs so it was rather annoying.
It seems the issue is related with the command: mkvmerge --identify-verbose which doesn't exist anymore at least in V36. Checking some of the notes from mkvmerge it seems this has been done on purpose to use a JSON like output.
This output has been replaced by a -J and this messes up with the script.
I had the option to downgrade the version of mkvmerge but one of the reasons I was installing a new server was for compatibility issues.
Anyway, more than an issue this is just to let everybody using this script know that changing the following line:
tracks=$(LANG=en_US.utf8 LANGUAGE=en_US.utf8 mkvmerge --identify-verbose "$file_name" | tail --lines=+2)
by:
tracks=$(LANG=en_US.utf8 LANGUAGE=en_US.utf8 mkvmerge -J "$file_name" | jq -r '.tracks | map("Track ID " + (.id | tostring) + ": " + .type + " " + .codec + " language:" + .properties.language + " codec_id:" + .properties.codec_id + " track_name:" + .properties.track_name ) | join("\n")' | tail --lines=+2)
** you need to install jq - yum install jq.
The script maintains all his functionality. I haven't done extensive testing but it seems to be working fine.
Thanks.
Hello, I have a small problem with your mkv-remove-language script.
If I try the batch command, I get the message: find: mkv-remove-language No such file or directory. The single command works perfectly.
hope you can help me
Hi.
I have just discovered these tools. I am trying to convert DTS-HD to DTS.
But I'm only getting this No DTS-HD stream found, doing nothing
./mkv-transcode-dts The\ Expanse\ S01E01\ Dulcinea.mkv
No dts-hd stream found, doing nothing
But inside of this mkv there is a DTS-HD file, as seen below:
mkvmerge -i The\ Expanse\ S01E01\ Dulcinea.mkv
File 'The Expanse S01E01 Dulcinea.mkv': container: Matroska
Track ID 0: video (MPEG-H/HEVC/H.265)
Track ID 1: audio (DTS-HD Master Audio)
Track ID 2: subtitles (HDMV PGS)
Chapters: 5 entries
What am I doing wrong?
Please let me know.
I'm working to do somewhat what you did here, but adding a few more stuff. I could use someone better than me with bash.
Would you like to join forces?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.