diff --git a/README.mkd b/README.mkd index db8a984..4ae4d07 100644 --- a/README.mkd +++ b/README.mkd @@ -2,14 +2,14 @@ mkvtomp4 ======== Gavin Beatty - - -mkvtomp4: Uses mpeg4ip or GPAC's MP4Box, mkvtoolnix and ffmpeg to convert -troublesome mkv files to mp4. +Uses existing tools to convert troublesome mkv files to mp4. The conversion does not re-encode the video and only re-encodes the audio if it doesn't use AAC codec (one can override this behaviour using `--audio-codec`). -They will be playable on the Sony PS3. +The resulting mp4 will be playable on the Sony PS3. + +We depend on: *mkvtoolnix*, *mpeg4ip* or GPAC's *MP4Box* for the conversion. +*ffmpeg* is optional but required for audio transcoding. Check the manual in `doc/mkvtomp4.1.txt`. @@ -18,13 +18,16 @@ Dependencies ------------ Tools: -* mkvtoolnix -* mpeg4ip or GPAC's MP4Box -* ffmpeg -On Linux, use your package manager to install. -On Mac OS X, use MacPorts to install. -On Windows, go to the tools' individual websites and find windows binaries. +* *mkvtoolnix* +* *mpeg4ip* or GPAC's *MP4Box* +* *ffmpeg* + +To install these tools: + +* On Linux, use your package manager. +* On Mac OS X, use MacPorts or homebrew. +* On Windows, go to each tools' individual websites. Everything else is written using only fully cross-platform python, except: diff --git a/doc/mkvtomp4.1 b/doc/mkvtomp4.1 index 83af707..2733da0 100644 --- a/doc/mkvtomp4.1 +++ b/doc/mkvtomp4.1 @@ -1,102 +1,109 @@ .TH "MKVTOMP4" "1" "November 24, 2013" "" "" .SH NAME .PP -mkvtomp4 \- convert H.264 mkv files to mp4 files playable on the PS3 +mkvtomp4.py \- convert H.264 mkv files to mp4 files playable on the PS3 .SH SYNOPSIS .PP -\f[I]mkvtomp4\f[] [\f[I]OPTIONS\f[]] [\-\-] \f[I]\f[] +\f[I]mkvtomp4.py\f[] [OPTIONS] [\-\-] .PP -\f[I]mkvtomp4\f[] \f[I]\-\-correct\-profile\-only\f[] [\-\-] -\f[I]\f[] +\f[I]mkvtomp4.py\f[] \-\-correct\-profile\-only [\-\-] .SH DESCRIPTION .PP -Uses mpeg4ip or GPAC\[aq]s MP4Box, mkvtoolnix and ffmpeg to convert -troublesome mkv files to mp4. +Uses existing tools to convert troublesome mkv files to mp4. The conversion does not re\-encode the video and only re\-encodes the audio if it doesn\[aq]t use AAC codec (one can override this behaviour using \f[C]\-\-audio\-codec\f[]). -They will be playable on the Sony PS3. +The resulting mp4 will be playable on the Sony PS3. .PP We depend on: \f[I]mkvtoolnix\f[], \f[I]mpeg4ip\f[] or GPAC\[aq]s \f[I]MP4Box\f[] for the conversion. \f[I]ffmpeg\f[] is optional but required for audio transcoding. .SH OPTIONS .TP -.B \-\-use\-mp4creator, \-\-use\-mp4box -Specify which mp4 backend to use. -mp4creator is the default. +.B \-o, \-\-output= +Put the completed mp4 into \f[C]\f[]. .RS .RE .TP -.B \-\-mp4creator=\f[I]\f[] -Use as the mp4creator command. +.B \-\-keep\-temp\-files +Keep all temporary files created while converting. .RS .RE .TP -.B \-\-mp4box=\f[I]\f[] -Use as the mp4box command. +.B \-v, \-\-verbose +Print info about what is happening. .RS .RE .TP -.B \-\-mkvinfo=\f[I]\f[] -Use as the mkvinfo command. +.B \-n, \-\-dry\-run +Don\[aq]t run any commands, but print them in a shellquoted format that +can be safely copy\-pasted by the user. .RS .RE -.PP -\-\-mkvextract=** : Use as the mkvextract command. -.PP -\-\-video\-track=** : Use from the mkv file instead of -trying to parse it. -.PP -\-\-audio\-track=** : Use from the mkv file instead of -trying to parse it. .TP -.B \-\-audio\-delay\-ms=\f[I]\f[] -When importing the audio track, delay by \f[C]\\\f[] -milliseconds. -e.g., \f[C]\-\-audio\-delay\-ms\f[]=\f[C]1000\f[] delays by 1 second. -Not supported by mp4creator. +.B \-\-use\-mp4creator, \-\-use\-mp4box +Specify which mp4 backend to use. +mp4creator is the default. .RS .RE .TP -.B \-\-audio\-bitrate=\f[I]\f[] -If/When converting audio, use the given bitrate. -e.g., \f[C]128\f[]. +.B \-\-mp4creator= +Use \f[C]\f[] as the mp4creator command. .RS .RE .TP -.B \-\-audio\-channels=\f[I]\f[] -If/When converting audio, use \f[C]\\\f[] channels in the -output. -e.g., \f[C]5.1\f[]. +.B \-\-mp4box= +Use \f[C]\f[] as the mp4box command. .RS .RE .TP -.B \-\-audio\-codec=\f[I]\f[] -If/When converting audio, convert to \f[C]\\\f[]. -Default is \f[C]libfaac\f[]. -This should be something supported by \f[I]ffmpeg\f[]. +.B \-\-mkvinfo= +Use \f[C]\f[] as the mkvinfo command. .RS .RE .TP -.B \-o, \-\-output=\f[I]\f[] -Put the completed mp4 into \f[C]\\\f[]. +.B \-\-mkvextract= +Use \f[C]\f[] as the mkvextract command. .RS .RE .TP -.B \-\-keep\-temp\-files -Keep all temporary files created while converting. +.B \-\-video\-track= +Use \f[C]\f[] from the mkv file instead of trying to parse +it. .RS .RE .TP -.B \-v, \-\-verbose -Print info about what is happening. +.B \-\-audio\-track= +Use \f[C]\f[] from the mkv file instead of trying to parse +it. .RS .RE .TP -.B \-n, \-\-dry\-run -Don\[aq]t run any commands, but print them in a shellquoted format that -can be safely copy\-pasted by the user. +.B \-\-audio\-delay\-ms= +When importing the audio track, delay by \f[C]\f[] +milliseconds. +e.g., \f[C]\-\-audio\-delay\-ms\f[]=\f[C]1000\f[] delays by 1 second. +Not supported by mp4creator. +.RS +.RE +.TP +.B \-\-audio\-bitrate= +If/When converting audio, use the given bitrate. +e.g., \f[C]128\f[]. +.RS +.RE +.TP +.B \-\-audio\-channels= +If/When converting audio, use \f[C]\f[] channels in the +output. +e.g., \f[C]5.1\f[]. +.RS +.RE +.TP +.B \-\-audio\-codec= +If/When converting audio, convert to \f[C]\f[]. +Default is \f[C]libfaac\f[]. +This should be something supported by \f[I]ffmpeg\f[]. .RS .RE .TP @@ -106,7 +113,7 @@ Only correct the profile .RE .TP .B \-\-stop\-before\-extract\-video -Exit before extracting video from \f[C]\\\f[]. +Exit before extracting video from \f[C]\f[]. .RS .RE .TP @@ -116,7 +123,7 @@ Exit before correcting profile of raw H.264 stream. .RE .TP .B \-\-stop\-before\-extract\-audio -Exit before extracting audio from \f[C]\\\f[]. +Exit before extracting audio from \f[C]\f[]. .RS .RE .TP @@ -142,12 +149,12 @@ mp4 container. .RS .RE .TP -.B \f[C]\\\f[] +.B The Matroska (.mkv) file you wish to convert. .RS .RE .TP -.B \f[C]\\\f[] +.B The raw H.264 stream file that will have its profile corrected for use on the PS3. .RS @@ -157,7 +164,7 @@ on the PS3. Gavin Beatty .SH RESOURCES .PP -Website: +Website: .SH REPORTING BUGS .PP Please report all bugs and wishes to diff --git a/doc/mkvtomp4.1.html b/doc/mkvtomp4.1.html index 2816e6b..13de18c 100644 --- a/doc/mkvtomp4.1.html +++ b/doc/mkvtomp4.1.html @@ -16,67 +16,71 @@

Gavin Beatty

November 24, 2013

NAME

-

mkvtomp4 - convert H.264 mkv files to mp4 files playable on the PS3

+

mkvtomp4.py - convert H.264 mkv files to mp4 files playable on the PS3

SYNOPSIS

-

mkvtomp4 [OPTIONS] [--] <mkvfile>

-

mkvtomp4 --correct-profile-only [--] <rawh264file>

+

mkvtomp4.py [OPTIONS] [--] <mkvfile>

+

mkvtomp4.py --correct-profile-only [--] <rawh264file>

DESCRIPTION

-

Uses mpeg4ip or GPAC's MP4Box, mkvtoolnix and ffmpeg to convert troublesome mkv files to mp4. The conversion does not re-encode the video and only re-encodes the audio if it doesn't use AAC codec (one can override this behaviour using --audio-codec). They will be playable on the Sony PS3.

+

Uses existing tools to convert troublesome mkv files to mp4. The conversion does not re-encode the video and only re-encodes the audio if it doesn't use AAC codec (one can override this behaviour using --audio-codec). The resulting mp4 will be playable on the Sony PS3.

We depend on: mkvtoolnix, mpeg4ip or GPAC's MP4Box for the conversion. ffmpeg is optional but required for audio transcoding.

OPTIONS

+
-o, --output=<outfile>
+

Put the completed mp4 into <outfile>.

+
+
--keep-temp-files
+

Keep all temporary files created while converting.

+
+
-v, --verbose
+

Print info about what is happening.

+
+
-n, --dry-run
+

Don't run any commands, but print them in a shellquoted format that can be safely copy-pasted by the user.

+
--use-mp4creator, --use-mp4box

Specify which mp4 backend to use. mp4creator is the default.

-
--mp4creator=<mp4creator>
-

Use <mp4creator> as the mp4creator command.

+
--mp4creator=<mp4creator>
+

Use <mp4creator> as the mp4creator command.

-
--mp4box=<mp4box>
-

Use <mp4box> as the mp4box command.

+
--mp4box=<mp4box>
+

Use <mp4box> as the mp4box command.

-
--mkvinfo=<mkvinfo>
-

Use <mkvinfo> as the mkvinfo command.

+
--mkvinfo=<mkvinfo>
+

Use <mkvinfo> as the mkvinfo command.

-
-

--mkvextract=** : Use <mkvextract> as the mkvextract command.

-

--video-track=** : Use <video_track> from the mkv file instead of trying to parse it.

-

--audio-track=** : Use <audio_track> from the mkv file instead of trying to parse it.

-
-
--audio-delay-ms=<delay_ms>
-

When importing the audio track, delay by \<delay_ms> milliseconds. e.g., --audio-delay-ms=1000 delays by 1 second. Not supported by mp4creator.

-
-
--audio-bitrate=<bitrate>
-

If/When converting audio, use the given bitrate. e.g., 128.

+
--mkvextract=<mkvextract>
+

Use <mkvextract> as the mkvextract command.

-
--audio-channels=<channels>
-

If/When converting audio, use \<channels> channels in the output. e.g., 5.1.

+
--video-track=<video_track>
+

Use <video_track> from the mkv file instead of trying to parse it.

-
--audio-codec=<codec>
-

If/When converting audio, convert to \<codec>. Default is libfaac. This should be something supported by ffmpeg.

+
--audio-track=<audio_track>
+

Use <audio_track> from the mkv file instead of trying to parse it.

-
-o, --output=<outfile>
-

Put the completed mp4 into \<outfile>.

+
--audio-delay-ms=<delay_ms>
+

When importing the audio track, delay by <delay_ms> milliseconds. e.g., --audio-delay-ms=1000 delays by 1 second. Not supported by mp4creator.

-
--keep-temp-files
-

Keep all temporary files created while converting.

+
--audio-bitrate=<bitrate>
+

If/When converting audio, use the given bitrate. e.g., 128.

-
-v, --verbose
-

Print info about what is happening.

+
--audio-channels=<channels>
+

If/When converting audio, use <channels> channels in the output. e.g., 5.1.

-
-n, --dry-run
-

Don't run any commands, but print them in a shellquoted format that can be safely copy-pasted by the user.

+
--audio-codec=<codec>
+

If/When converting audio, convert to <codec>. Default is libfaac. This should be something supported by ffmpeg.

--correct-profile-only

Only correct the profile

--stop-before-extract-video
-

Exit before extracting video from \<mkvfile>.

+

Exit before extracting video from <mkvfile>.

--stop-before-correct-profile

Exit before correcting profile of raw H.264 stream.

--stop-before-extract-audio
-

Exit before extracting audio from \<mkvfile>.

+

Exit before extracting audio from <mkvfile>.

--stop-before-convert-audio

Exit before converting audio previously extracted. This will stop even if the audio does not need to be converted.

@@ -90,10 +94,10 @@

OPTIONS

--stop-before-audio-mp4

Exit before adding the extracted (and possibly converted) audio to the mp4 container.

-
\<mkvfile>
+
<mkvfile>

The Matroska (.mkv) file you wish to convert.

-
\<rawh264file>
+
<rawh264file>

The raw H.264 stream file that will have its profile corrected for use on the PS3.

@@ -105,7 +109,7 @@

AUTHOR

// -->

RESOURCES

-

Website: http://code.google.com/p/mkvtomp4/

+

Website: http://github.com/gavinbeatty/mkvtomp4/

REPORTING BUGS

Please report all bugs and wishes to