Some News:
- blu2mkv is discontinued. menc can do all it does and more.
- There is a new download page at http://progs.fangornsrealm.eu/downloads that is a central point to get the programs.
- All other programs are now installable a lot more comfortable.
- For Gentoo users ebuilds are available at http://progs.fangornsrealm.eu/ebuilds.tar.bz2 that install all the denpendencies automatically.
- For users of other Linux distributions there is a script that installs the programs available at http://progs.fangornsrealm.eu/install_linux.sh
for the current user. It also checks for the availability of external dependencies and tells the user if a program is missing.
Edit:
I will no longer add new features to the pages here.
I will just announce new versions here and update the feature lists at the project page (http://fangornsrealm.eu)
Hi,
As some of you might have noticed, I posted scripts for video conversion from time to time.
The purpose of this thread is to
- create a location where to easily find the most recent version
- answer question and requests in one place
There are many other solutions for doing this job(s). Most of them have shiny graphical user interfaces,
some are for the command line, but most of them have limited or no batch processing capabilities. Also most
of them either have near to none or hundreds of settings. I did not find anything in between. So either you have
a tool that does just one job (and you cannot do something more specific) or you have a tool that has many
features, but you have to be a video encoding guru to know what exact settings you need to get the proper
results.
So I designed my scripts around two principles:
- Batch processing
As I tend to have my computer running only when there is something to do, and I do not intend to sit in
front of it all the time to keep it busy, my scripts are designed to do perfect batch before they do
anything special.
I am a huge fan of the command
that can keep your machine busy for quite some time.Code: Select all
for i in * ; do <programname> <options> $i ; done
- Automatisms to choose proper settings for given source files and specified parameters
All my scripts use sensible defaults when no options are specified and automatisms to adjust
the settings if the user demands other features. So you will get something decent by default
and still can ask for special functions. (some scripts have quite a few options)
What can they do?
There are only three usage cases that you have to consider.
- Ripping DVDs directly from DVD, from ISO files or from directory structure (ISO files or directory
structure are preferred for batch for obvious reasons)
riptoh264 provides this feature. - Ripping BluRay/AVCHD from ISO files or directory structure or converting already ripped data in
Matroska or MPEG Transport Stream containers (or probably some other container formats)
blu2mkv provides this feature. - Conversion of (nearly) any other video source
menc provides this feature.
output of the conversion to output containers (optionally considering limits of output containers
and playback devices concerning audio formats) and choose_x264_encoding_parameters.sh for choosing
correct encoding parameters (also optionally considering containerformat and geometry limits of
playback devices).
avi2mkv is also usable standalone when you have to transfer videos from a standard container
(for example AVI or MKV) to a container more advanced or suitable for the playback device.
Supported output containerformats are Matroska (.mkv), MPEG Transport Stream (.ts|.m2ts),
ISO MPEG4 (.mp4) or Ogg Movie (.ogm).
Matroska gives the most advanced options, like chaptermarks, subtitles (vobsub(dvd), srt, ass),
coverart. Only some of these options are supported for the other container formats
(partly for lack of support in the format, partly because I did not implement it yet).
As you might have recognized, the options are plenty. If you have a usage case you don't know if
these scripts will fit, just ask and we will try to figure it out.
Tips
- For those who didn't know: you can use mplayer or ffmpeg to get information about a movie.
Encoding of video and audio, audio stream count, ids of multiple streams, in more modern container
formats like Matroska also languages of audio streams
Code: Select all
mplayer <filename> -vo dummy -ao dummy -identifyCode: Select all
ffmpeg -i <filename> - All my scripts have a block with the default settings directly after the big commented block.
Settings intended to be adjusted by the user are up front and specially marked. You have to set your
preferred language(s), your preferred containerformat, ... - My scripts assume that file and directory names to not include "weird" characters. For achieving
this goal I use the script dejunk presented further down on this page. But be careful. It assumes
that you know what you are doing and renames any files and subdirectories in the current working
directory. So please be sure that you have moved all files to rename into an own directory and are
actually there on the command line.
I use handcompiled versions of mencoder, ffmpeg and x264 that I install to /usr/local/bin to not
distract installed programs depending on those packages every time I build a new version. If you
use packages maitained by portage or another way where only one version of the package is installed,
change the variables in the beginning of the script to
Code: Select all
mplayer=`/usr/bin/which mplayer`
mencoder=`/usr/bin/which mencoder`
ffmpeg=`/usr/bin/which ffmpeg`Also the fileformat detection with mplayer assumes that mplayer delivers text output in english.
This means mplayer has to be compiled in an environment with
Code: Select all
export LINGUAS="en"
or
export LINGUAS="en <something_other>"
Code: Select all
export LINGUAS="en" emerge mplayerCode: Select all
LINGUAS="en" ./configure <options>Dependencies:
yet to come
Finally! The programs:
Here is the list of programs, always newest version. For more information on a single program go to
the respective post.
- Transfer audio/video streams to several containers. Basically this is a Matroska (.mkv)
container, but it supports ISO MP4 (.mp4), MPEG Transport Stream (.ts) and Ogg Media (.ogm).
(this is a dependency of all my encoding scripts)
http://progs.fangornsrealm.eu/avi2mkv/avi2mkv - Select x264 encoding profile preset
(this is a dependency of all my encoding scripts)
http://progs.fangornsrealm.eu/choose_vi ... parameters - Toolbox (containing functions used by more than one script)
(this is a dependency of most of scripts)
http://progs.fangornsrealm.eu/toolbox_f ... ox_fangorn - Encode nearly anthing to x264 video and copy audio or transform to stereo MP3.
http://progs.fangornsrealm.eu/menc/menc - Rip DVDs to x264 video
http://progs.fangornsrealm.eu/riptoh264/riptoh264 - Reencode HD video material from HDDVD/BluRay/HDTV
http://progs.fangornsrealm.eu/blu2mkv/blu2mkv - Display information and extract titles from BluRay directory structures and ISO files
http://progs.fangornsrealm.eu/bluray-info/bluray-info




