Как сделать записи рабочего стола WebM?
Я ищу либо настольное приложение для записи / скринкаста, которое может выводить в формате WebM, либо программу, которая может конвертировать формат.ogv, сгенерированный gtk-recordmydesktop
в WebM.
Я выбрал WebM в качестве нужного мне формата, потому что, похоже, это единственный бесплатный кодек, поддерживаемый YouTube, где мои записи заканчиваются. Я пытался загрузить.ogv в прошлом и получил сплошное зеленое видео, так что это не сработает для меня.
Я живу в США и стараюсь держаться подальше от всего, что может иметь проблемы с патентами на программное обеспечение, например gstreamer0.10-plugins-ugly
или же gstreamer0.10-plugins-bad
, Именно по этой причине я изначально интересовался Tibesti (например), но для этого требовалась установка пакетов, подобных вышеупомянутым.
Я несколько раз искал в Интернете бесплатное решение (как с точки зрения денег, так и свободы), но пока ничего не смог найти. Какие-либо предложения?
7 ответов
12.04 LTS
Похоже, что ffmpeg
больше не работает должным образом в этом выпуске для преобразования recordmydesktop
Записи.ogv в WebM. Поскольку он больше не поддерживается, рекомендуется использовать его замену avconv
вместо этого, предусмотрено в libav-tools
пакет (который, кажется, устанавливается автоматически, если ffmpeg
был установлен).
Команду необходимо использовать avconv
для конверсий не слишком сильно отличается от ffmpeg
:
avconv -i input.ogv output.webm
Таким образом, если кто-то сталкивался с той же проблемой, связанной с попыткой использовать только бесплатные пакеты для преобразования из.ogv в.webm в 12.04 (или, вероятно, позже), я решил эту проблему. Это может быть полезно, если вы делаете записи, чтобы показать новые функции или проблемы с документами, используя видео.
Вы можете делать записи WebM в Ubuntu 11.10 + GNOME Shell, нажав комбинацию клавиш Ctrl+Shift+Alt+R.
При первом нажатии комбо в области уведомлений появляется красный кружок, указывающий, что запись началась. Когда вы нажимаете кнопку 2 раза, красный круг исчезает, и вы записываете ${HOME}/Videos
каталог.
Более подробная информация здесь: Шпаргалка Gnome Shell: Запись скринкаста
Я использую такие вещи:
avconv -f x11grab -s 1024x768 -r 24 -i 0:0 -deadline realtime -b 5000000 -minrate 200000 -maxrate 40000000 recording-filename-000.webm
Куда:
-f x11grab
- вводит в действие "формат" захвата экрана.
-s 1024x768
разрешение входного файла (или область захвата). Например, соответствует разрешению рабочего стола. Если меньше, область записи будет слева и сверху. В этом примере я использовал область записи 1024x768.
-r 24
- частота кадров. В основном, от 23 до 30 кадров в секунду, которые используются в реальных фильмах для плавной записи изображения. Однако для скринкаста было бы неплохо уменьшить это, чтобы получить лучшую картинку на низких битрейтах. Я использовал 24, чтобы сделать захват экрана игры.
-i 0:0
является подсказкой для использования отображения 0:0 в качестве источника (устройство находится в нотации xorg). Если у вас только 1 монитор и настройка Xorg по умолчанию, 0:0 будет в большинстве случаев нормально.
-deadline realtime
- это подсказка к libvpx. Мы хотим живой захват. Мы хотим производительность в реальном времени. Так что libvpx сделает все возможное для кодирования VP8 в режиме реального времени. Для этого он несколько меняет качество на скорость. При заданном битрейте качество будет немного хуже, чем в режиме реального времени. Но скорость кодирования взлетела бы до небес. Так что на моем оборудовании он может обрабатывать 1024x768 при 24 кадрах в секунду, насыщенные сцены, без потери кадров (хотя рекомендуется мощный процессор). В этом примере я хотел получить живое изображение достойного качества при хорошем FPS и довольно большой области захвата. Таким образом, использование процессора кодеком может быть проблемой. Вот почему этот намек действительно нужен для хороших результатов.
-b 5000000
- целевой битрейт в битах / секунду. Я использовал 5 Мбит, чтобы получить более-менее хорошую картину довольно интенсивных сцен. Кодек будет пытаться поддерживать среднюю скорость передачи битрейта видео вблизи этого значения. Чем ниже это значение, тем хуже качество и меньше файл. Вы можете немного поэкспериментировать, чтобы понять, какой битрейт хорош для определенных целей. Сервисы обмена видео могут конвертировать видео, если вы перебегаете. Если вы собираетесь использовать собственный сервер, вам решать заботу о трафике. Если вы недолетите, качество изображения будет плохим. Не стесняйтесь менять значение, чтобы понять, что лучше для вас. 5Mbits были предназначены для более или менее приятного для глаз живого захвата интенсивных сцен в играх, где вы не можете легко увидеть, что изображение слишком сжато. Для захвата неподвижных приложений вам понадобится гораздо меньше.
-minrate
200000 - минимально допустимый битрейт для кодека. В зависимости от характера вещи, которую вы хотите запечатлеть, иногда вам может потребоваться установить минимальный битрейт, чтобы сохранить разумно выглядящую картинку в любом случае. Иногда эвристический кодек может снизить битрейт намного ниже желаемого значения, что в некоторых случаях дает плохую картинку. Эта опция позволяет заставить кодек поддерживать минимальную скорость передачи битов, даже если кодек считает, что сцена простая, и скорость передачи битов может быть отброшена. Высокое значение этого параметра может увеличить размер файла, не позволяя кодеку использовать более низкие битрейты.
-maxrate 40000000
- Это значение контролирует максимальный битрейт в интенсивных сценах. Я использовал действительно высокое значение, чтобы позволить кодеку идти намного выше, чем желаемое среднее значение, если он считает, что более высокая скорость обязательна для поддержания достойного качества в некоторых сценах. Чтобы получить красивую картинку в любых условиях, желательно установить достаточно высокое значение (40 Мбит / с - это скорость, подобная BlueRay, и сработает). С другой стороны, если вы собираетесь транслировать его на своем собственном сервере, вы должны уменьшить это значение за счет некоторого качества изображения в насыщенных сценах. Иначе сервер может не справиться с желаемым битрейтом, будучи не в состоянии доставить его пользователям в режиме реального времени. Тогда игрок столкнется с опустошением буфера (что раздражает). Сервисы обмена видео позаботятся сами по себе и обычно преобразуют видео в более низкие параметры за счет качества изображения.
recording-filename-000.webm
- это имя файла вывода. Если вы используете расширение.webm, ffmpeg / avconv достаточно умны, чтобы понять, что вам нужен WEBM. Это очень просто - avconv угадывает желаемый формат по имени файла. Так что.WEBM файлы - это WEBM внутри.
Вот и все - эта команда выполняет прямую запись экрана в файл webm. Никаких дополнительных преобразований не требуется и libvpx
намекнули, чтобы быть настолько быстрым, насколько это возможно. Нет звука, так как нет спецификации для ввода звука. Это может или не может быть то, что вы хотите. Для звука вы также должны указать источник входного сигнала для звукового потока.
PS это может показаться немного сложным, но в конце дня вы можете понять, что один размер не может соответствовать всем. Таким образом, чтобы получить красивую картинку в любых ситуациях, вы можете захотеть использовать некоторые ручки для кодека и настроить их. Ffmpeg дает вам все ручки, которые вам могут понадобиться, и гораздо больше. Это тяжелое оружие преобразования и кодирования видео. Так что этот пример - хорошая отправная точка для тех, кто хочет делать более или менее сложные кодировки и готов немного поэкспериментировать, чтобы получить действительно приличные результаты.
Используйте приложение Transmageddon, чтобы сделать это. его приложение на основе Gstreamer
sudo apt-get install transmageddon
или нажмите здесь, чтобы установить Transmageddon
11.10 и ранее
ffmpeg
может быть использован для преобразования.ogv в.webm напрямую, без необходимости в дополнительных кодеках. Как уже упоминалось в комментарии к другому ответу, версия ffmpeg
Поставляемый Ubuntu по умолчанию не поставляется с кодеками, которые могут создавать проблемы с патентами на программное обеспечение.
Это программа командной строки; чтобы использовать его, просто откройте окно терминала и введите:
ffmpeg -i input.ogv output.webm
Используйте Kazam для записи.
Вывод mkv, и хорошо работает с Youtube. Кажется, единственная проблема, которую Казам давно не обновлял.
Кстати, вы должны быть в безопасности, используя Tibesti, если я правильно понимаю, если, конечно, вы абсолютно не параноидально, что какой-то гигантский инопланетный космический корабль похитит вас и вас замучат за использование программного обеспечения...
IMO, лучший способ конвертировать видео в WebM это Firefogg.
- Это плагин Firefox (так что это мультиплатформенный инструмент, как Firefox)
- Он будет сжат до формата WebM (с открытым исходным кодом - веб-совместимый кодек)
- Он предлагает несколько размеров кодирования (очень удобно придумать лучший коэффициент сжатия)
- ДЕЙСТВИТЕЛЬНО эффективная степень сжатия (не менее, чем H264)
- Это супер просто в использовании