Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
becki:linux:multimedia [2015-12-22 11:16] becki |
becki:linux:multimedia [2025-11-10 12:20] (aktuell) becki [Concat multiple files] |
||
|---|---|---|---|
| Zeile 26: | Zeile 26: | ||
| lame | lame | ||
| x264 | x264 | ||
| - | x265 | + | [x265] |
| </code> | </code> | ||
| + | |||
| + | Command to build the package with the optional packages enabled: | ||
| + | |||
| + | ASS=yes FAAC=yes LAME=yes X264=yes ./ffmpeg.SlackBuild | ||
| + | |||
| + | FIXME FAAC seems not necessary any morge as of ffmpeg-3.2.4. Instead try FDK_AAC | ||
| + | |||
| + | Note: To install ffmpeg on a headless server (without X) it may be necessary to install additional stock packages first and to disable some features which are enabled by default (tested): | ||
| + | |||
| + | slackpkg install libXi libXtst | ||
| + | CACA=no OPENGL=no X11GRAB=no ASS=yes FAAC=yes LAME=yes X264=yes ./ffmpeg.SlackBuild | ||
| === Docs == | === Docs == | ||
| Zeile 35: | Zeile 46: | ||
| - https://ffmpeg.org/ffmpeg-all.html | - https://ffmpeg.org/ffmpeg-all.html | ||
| - http://trac.ffmpeg.org/wiki | - http://trac.ffmpeg.org/wiki | ||
| + | - https://www.ostechnix.com/20-ffmpeg-commands-beginners/ | ||
| Note that these official docs do not contain hints about DVD ripping. | Note that these official docs do not contain hints about DVD ripping. | ||
| Zeile 63: | Zeile 75: | ||
| ===== Audo and video editing by task == | ===== Audo and video editing by task == | ||
| + | ==== Get info about a media file == | ||
| + | |||
| + | ffprobe | ||
| + | | ||
| ==== Extract a section from an audio/video file == | ==== Extract a section from an audio/video file == | ||
| Zeile 81: | Zeile 97: | ||
| </code> | </code> | ||
| - | ffmpeg -f concat -i mylist.txt -c copy output | + | ffmpeg -f concat -i mylist.txt -c copy output.mp3 |
| From https://trac.ffmpeg.org/wiki/Concatenate for format of ''mylist.txt'' | From https://trac.ffmpeg.org/wiki/Concatenate for format of ''mylist.txt'' | ||
| + | ==== Encode to x264 == | ||
| + | |||
| + | Test shows that both commands results in 2 files with the same size and bitrate:((Bitrate can be checked with ''ffprobe'')) | ||
| + | ffmpeg -i IN.VOB out.mkv | ||
| + | ffmpeg -i IN.VOB -c:v libx264 -preset medium -crf 23 -c:a libvorbis out.mkv | ||
| + | |||
| + | - 2-pass encoding (-pass 1/2) needs a certain bitrate option (-b:v) as well and seems to be useful only if you want an exact output file size. | ||
| + | - Constant Rate Factor (CRF) encoding seems not te be inferior compared to 2-pass | ||
| + | - crf 28 still seems to provide acceptable quality | ||
| + | - A slower preset seems to provide smaller file size with same quality at the cost of a higher encoding time. | ||
| + | - ''-preset slow'' helps about 5-10% compared to the ''medium'' preset | ||
| + | Source: http://trac.ffmpeg.org/wiki/Encode/H.264 | ||
| + | |||
| + | Rule of thumb to save space: Make a test encoding with default values (crf=23) and than increase the crf value until quality becomes inacceptable. | ||
| + | |||
| + | Useful opts: | ||
| + | <code> | ||
| + | -tune animation - good for cartoons | ||
| + | -an disable audio | ||
| + | -vn disable video | ||
| + | </code> | ||
| + | |||
| + | ==== Stream selection == | ||
| + | Example: Select all video stream and 2nd audio stream of first (and normally only) input file: | ||
| + | |||
| + | ffmpeg -i input.vob -map 0:v -map 0:a:1 output.mkv | ||
| + | |||
| ===== Manual DVD ripping == | ===== Manual DVD ripping == | ||
| ==== Copy raw Media to Disk == | ==== Copy raw Media to Disk == | ||
| - | Find the right track by reading DVD content using ''lsdvd''((available on slackbuilds)) or ''%%mencoder dvd:// -v%%'' may be helpfull as well | + | Find the right track by reading DVD content using ''lsdvd''((available on slackbuilds)). ''%%mencoder dvd:// -v -o -%%'' may be helpfull as well |
| Extract track n with | Extract track n with | ||
| - | mplayer dvd://n -dumpstream -dumpfile title_n.vob | + | mplayer dvd://n -dumpstream -dumpfile title_n.vob [-chapter m-m] |
| - | If reading and/or extaction does not work (check for completeness, passages with garbage!): | + | If reading and/or extaction does not work (check for completeness, passages with garbage!) then try the following method: |
| + | |||
| + | ==== Copy raw Media to Disk Alternative == | ||
| Mount the DVD and check all VOB-files with mplayer (or ffplay). Copy those you need to disk | Mount the DVD and check all VOB-files with mplayer (or ffplay). Copy those you need to disk | ||
| Zeile 108: | Zeile 153: | ||
| ==== Encode == | ==== Encode == | ||
| - | ffmpeg -f concat -i voblist.txt -c:v libx264 -c:a libvorbis output.mkv | + | ffmpeg -i input.vob output.mkv |
| + | |||
| + | See above for more options | ||
| ==== Todo == | ==== Todo == | ||
| - | - Higher Compression / 2 path? | ||
| - | - Use ''-map'' to select audio and video tracks | ||
| - Chapter markers | - Chapter markers | ||
| + | - subtitles | ||
| + | - multiple audio tracks | ||
| + | - Test ffmpeg -aspect | ||
| ===== DVD ripping with HandBrake == | ===== DVD ripping with HandBrake == | ||