Попытка записи экрана в видеофайл, кодированный без потерь x264:
vic@vic-X202E ~/Desktop » ffmpeg -f x11grab -r 15 -s 1366x768 -i :0.0 -sameq -vcodec libx264 -preset:v ultrafast test.mkv
ffmpeg version 0.8.4-6:0.8.4-0ubuntu0.12.10.1, Copyright (c) 2000-2012 the Libav developers
built on Nov 6 2012 16:51:11 with gcc 4.7.2
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
[x11grab @ 0xc2bf60] device: :0.0 -> display: :0.0 x: 0 y: 0 width: 1366 height: 768
[x11grab @ 0xc2bf60] shared memory extension found
[x11grab @ 0xc2bf60] Estimating duration from bitrate, this may be inaccurate
Input #0, x11grab, from ':0.0':
Duration: N/A, start: 1357648973.267658, bitrate: 503562 kb/s
Stream #0.0: Video: rawvideo, bgra, 1366x768, 503562 kb/s, 15 tbr, 1000k tbn, 15 tbc
Unrecognized option 'preset:v'
Failed to set value 'ultrafast' for option 'preset:v'
Еще одна попытка:
vic@vic-X202E ~/Desktop » ffmpeg -f x11grab -r 15 -s 1366x768 -i :0.0 -sameq -vcodec libx264 -preset ultrafast test.mkv
ffmpeg version 0.8.4-6:0.8.4-0ubuntu0.12.10.1, Copyright (c) 2000-2012 the Libav developers
built on Nov 6 2012 16:51:11 with gcc 4.7.2
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
[x11grab @ 0x2482f60] device: :0.0 -> display: :0.0 x: 0 y: 0 width: 1366 height: 768
[x11grab @ 0x2482f60] shared memory extension found
[x11grab @ 0x2482f60] Estimating duration from bitrate, this may be inaccurate
Input #0, x11grab, from ':0.0':
Duration: N/A, start: 1357648985.325860, bitrate: 503562 kb/s
Stream #0.0: Video: rawvideo, bgra, 1366x768, 503562 kb/s, 15 tbr, 1000k tbn, 15 tbc
Unrecognized option 'preset'
Failed to set value 'ultrafast' for option 'preset'
vic@vic-X202E ~/Desktop »
Что-то сломалось? Использование Kubuntu 12.10.
Пожалуйста, не используйте опцию same_quant
. Он не достигает того, о чем вы думаете.
Теперь, чтобы достичь сжатия без потерь, вам нужно задать постоянное качество , равное 0, с -crf 0
.
avconv -f x11grab -r 15 -s 1366x768 -i :0.0 \
-c:v libx264 -preset ultrafast -crf 0 \
test.mkv
Дополнительную информацию см. В руководстве по кодированию x264 . Если у вас нет x264, вам нужно libavcodec-extra
.
Обратите внимание, что FFmpeg и Libav должны обрабатывать эту команду одинаково. Проблема вашей системы в том, что ваша версия FFmpeg ужасно устарела. Вам следует скомпилировать его самостоятельно или загрузить статическую сборку с домашней страницы . Оба будут включать x264.
Попробуйте использовать avconv
вместо ffmpeg
. (Соотношение между этими двумя вилами в Ubuntu представляется сложной проблемой ).
В моей системе 12.10 у меня есть как исполняемые файлы для ffmpeg
, так и avconv
, но только предустановленные файлы для avconv
(в /usr/share/avconv
).
Попробуйте:
avconv -f x11grab -r 15 -s 1366x768 -i :0.0 -same_quant -codec:v libx264 -pre:v ultrafast test.mkv