ffmpeg
Posted on Di 19 September 2017 in Notebook
concat
FFmpeg has three concat methods.
concat protocol
ffmpeg -i 'concat:input1|input2' -codec copy output
concat video filter
ffmpeg -i opening.mkv -i episode.mkv -i ending.mkv \ -filter_complex '[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] concat=n=3:v=1:a=1 [v] [a]' \ -map '[v]' -map '[a]' output.mkv
concat demuxer
$ cat mylist.txt file '/path/to/file1' file '/path/to/file2' file '/path/to/file3' $ ffmpeg -f concat -i mylist.txt -c copy output
Which one to use - concat protocol: use with formats that support file level concatenation (MPEG-1, MPEG-2 PS, DV). - concat filter: use if you need to re-encode such as when applying filters. - concat demuxer: use when you want to avoid a re-encode and your format does not support file level concatenation.
If in doubt try the concat demuxer.
Source: https://stackoverflow.com/questions/7333232/concatenate-two-mp4-files-using-ffmpeg
screenrecording
HandBrake presets
ffmpeg -f x11grab -video_size 1920x1080 -framerate 25 -i :0.0 \ -f pulse -ac 2 -i default \ -codec:v libx265 -crf 22 -x265-params strong-intra-smoothing=0:rect=0 \ -codec:a libfdk_aac -b:a 160k \ output.mkv
ffmpeg -f x11grab -video_size 1920x1080 -framerate 25 -i :0.0 \ -f pulse -ac 2 -i default \ -codec:v libx264 -crf 22 \ -codec:a libfdk_aac -b:a 160k \ output.mkv
from https://unix.stackexchange.com/questions/73622/how-to-get-near-perfect-screen-recording-quality
ffmpeg -f x11grab -video_size 1920x1080 -framerate 25 -i :0.0 \ -f pulse -ac 2 -i default \ -codec:v libx264 -preset ultrafast -crf 0 -pix_fmt yuv444p \ -codec:a libfdk_aac -b:a 160k \ output.mkv
nvenc
ffmpeg -f x11grab -video_size 1920x1080 -framerate 25 -i :0.0 -f pulse -ac 2 -i default \ -codec:v h264_nvenc -preset hq -level 4.1 -profile high -rc constqp -qp 17 \ -codec:a libfdk_aac -b:a 160k \ output.mkv