Як зробити записи на робочому столі WebM?


13

Я шукаю або настільний рекордер / програму screencast, яка може виводити у форматі WebM, або програму, яка може конвертувати формат .ogv, згенерований gtk-recordmydesktopу WebM.

Я вибрав WebM як потрібний мені формат, оскільки, здається, це єдиний безкоштовний кодек, який підтримує YouTube, де мої записи закінчаться. У минулому я намагався завантажити .ogv і отримав суцільне зелене відео, тому це не допоможе мені.

Я живу в США і свідомо намагаюся триматися подалі від усього, що може мати проблеми з патентом на програмне забезпечення, як-от gstreamer0.10-plugins-uglyабо gstreamer0.10-plugins-bad. Саме тому я спочатку цікавився Tibesti (наприклад), але для цього була потрібна установка таких пакетів, як вищезгадані.

Я кілька пошукав в Інтернеті безкоштовне рішення (як у грошах, так і в свободі), але поки нічого не міг знайти. Будь-які пропозиції?


Ви можете сказати своє місцезнаходження?
Lincity

@Alaukik, я вже говорив, що живу в США. Якщо вам потрібно знати, в якому штаті я живу в Мічигані. Мені б не хотілося більше конкретизуватися.
Крістофер Кайл Хортон

@ Warriorlng64 ой!
Lincity

Відповіді:


6

12.04 LTS

Здається, що у цьому випуску ffmpeg більше не працює належним чином для перетворення recordmydesktopзаписів .ogv у WebM. Оскільки він більше не підтримується, рекомендується замість avconvцього використовувати його заміну , що міститься в libav-toolsпакеті (який, здається, автоматично встановлюється, якщо він ffmpegбув встановлений).

Команда, необхідна для використання avconvдля перетворень, не надто відрізняється від ffmpeg:

avconv -i input.ogv output.webm

Таким чином, якщо хтось стикається з тією ж проблемою, що намагається використовувати лише безкоштовні пакети для перетворення з. Це може бути корисно, якщо ви робите записи для показу нових функцій або проблем із документами за допомогою відео.


Нещодавно я почав працювати над Kazam , тепер він може записувати у форматах VP8 / WebM та H264 / Matroska. Я зробив нарощування PPA для Oneiric і Precision. Він використовує gstreamer для запису і не вимагає ffmpeg. Він повинен працювати на чітко встановленому Ubuntu без зайвих кодеків.
BigWhale

@BigWhale Трохи переглядаючи код, я помітив, що, здається, все ще залежить від gstreamer0.10-plugins-badта gstreamer0.10-plugins-ugly. Ці пакети містять кодеки, яких я намагаюся уникати через проблеми з патентами, як зазначено вище. Якщо стане доступною оновлена ​​/ альтернативна збірка, яка не залежить від цих пакетів, повідомте мене у новій відповіді. Все одно, дякую!
Крістофер Кайл Хортон

Я отримуюError while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
jrg

@jrg У мене схожа проблема на моєму ноутбуці при перетворенні відео, яке я записав, використовуючи обхідне рішення, розміщене в цьому recordmydesktopзвіті про помилку . Цікаво, що коли я взяв таке ж відео на свій робочий стіл і перетворив його там, він працював без проблем. Отже ... це може бути помилка, але я не думаю, що я ще достатньо знаю про це, щоб подати звіт.
Крістофер Кайл Хортон

1
Як зауваження: FFMpeg все ще зберігається (фактично нещодавно вийшла версія 1.0), але між деякими розробниками сталася міні-війна, що призвело до вилки avconv. Просто підтримуючі сервіси debian / ubuntu перейшли на avconv. Повідомлення "ЦЕ ПРОГРАМА ЗАВЕРШЕНО" є абсолютно оманливим. Про поточну ситуацію читайте тут: http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html .
phoibos

6

Я використовую такі речі:

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- роздільна здатність вхідного файлу (aka область захоплення). Наприклад, дорівнює роздільній здатності робочого столу. Якщо менше, то область запису буде зліва та вгорі. У цьому прикладі я використовував область запису 1024x768.

-r 24- частота кадрів. В основному, 23-30 кадрів в секунду, які використовуються у справжніх фільмах, щоб забезпечити плавну картину запису. Однак для екранізації може бути нормально зменшити це, щоб отримати кращу картину на нижчих бітрейтах. Я використовував 24, щоб зробити ігровий екран.

-i 0:0є підказкою використовувати дисплей 0: 0 як джерело (пристрій знаходиться в нотації xorg). Якщо у вас лише 1 монітор і налаштування Xorg за замовчуванням, більшість разів 0: 0 буде нормальним.

-deadline realtime- є натяком на libvpx. Ми хочемо жити в захват. Ми хочемо виконання в режимі реального часу. Таким чином, libvpx зробить найкраще, щоб кодувати VP8 в REALTIME. Для цього воно дещо торгує якістю для швидкості. Якість бітрейт буде трохи гіршою, ніж це було б у режимі реального часу. Але швидкість кодування зростатиме. Тож на моєму апаратному забезпеченні він може розчавити 1024x768 при 24FPS, інтенсивні сцени, не скидаючи жодних кадрів (хоча рекомендується потужний процесор). У цьому прикладі я хотів гідної якості живого зйомки з хорошим FPS та досить великою площею зйомки. Тож використання процесора кодеком може бути проблемою. Ось чому цей натяк справді потрібен для хороших результатів.

-b 5000000- цільовий бітрейт у бітах / секунду. Я використовував 5Mbits, щоб отримати більш-менш гарну картину досить інтенсивних сцен. Codec намагатиметься підтримувати середню швидкість бітрейту відео близькою до цього значення. Чим менше це значення, тим гірша якість і файл менше. Ви можете трохи експериментувати, щоб зрозуміти, який бітрейт хороший для конкретного використання. Служби обміну відео дозволять перетворити відео, якщо ви перестанете. Якщо ви збираєтеся використовувати власний сервер, вам належить подбати про трафік. Якщо підкреслити, якість зображення буде поганою. Не соромтеся змінювати значення, щоб зрозуміти, що найкраще для вас. 5Mbits були призначені для більш-менш приємного для зйомки в реальному часі напружених сцен в іграх, де ви не можете легко побачити, що картинка перекомпресована. Для зйомки ще додатків вам знадобиться набагато менше, ніж це.

-minrate200000 - це мінімально дозволений бітрейт для кодека. Залежно від характеру речі, яку ви хочете захопити, іноді вам може знадобитися примусити мінімальний бітрейт дотримуватися розумного вигляду малюнка, незважаючи ні на що. Іноді кодек-евристика може зменшити бітрейт набагато нижче значень, які вам можуть захотіти, надаючи погані зображення на деяких сценах. Цей параметр дозволяє змусити кодек зберігати мінімальний бітрейт, навіть якщо кодек вважає, що сцена проста та може бути скинуто бітрейт. Високе значення цього параметра може збільшити розмір файлу, не дозволяючи кодеку використовувати менші бітрейти.

-maxrate 40000000- Це значення керує максимальною швидкістю розриву при напружених сценах. Я використовував дійсно високе значення, щоб дозволити кодеку вийти набагато вище бажаного середнього, якщо він вважає, що більш висока швидкість є обов'язковою для збереження гідної якості на якійсь сцені. Щоб отримати гарну картинку в будь-яких умовах, бажано встановити цю досить високу (40 Мбіт - швидкість, схожа на BlueRay, і зробить фокус). З іншого боку, якщо ви збираєтесь передавати його за допомогою власного сервера, вам доведеться зменшити це значення за рахунок деякої якості зображення при інтенсивних сценах. Ще один сервер не може впоратися з потрібним бітрейтом, не в змозі доставити його користувачам у режимі реального часу. Тоді гравець зіткнеться із заниженням буфера (що дратує). Служби обміну відео доглядають самостійно і, як правило, знижують відео, щоб знизити параметри ціною якості зображення.

recording-filename-000.webm- це ім'я виводу файлу. Якщо ви використовуєте розширення .webm, ffmpeg / avconv досить розумні, щоб зрозуміти, що вам потрібно WEBM. Це просто - avconv відгадує потрібний формат від імені файлу. Отже, файли .WEBM - це WEBM всередині.

Це все - ця команда робить запис прямого екрана на файл webm. Не потрібні додаткові конверсії, і libvpxце натякає на максимальну швидкість. Немає звуку, оскільки немає специфікації для введення звуку. Це може бути або не бути тим, що ви хочете. Для звуку також потрібно вказати джерело входу для звукового потоку.

PS це може здатися трохи складним, але наприкінці дня ви можете зрозуміти, що один розмір не може вмістити всіх. Таким чином, щоб отримати гарний малюнок у будь-яких ситуаціях, ви, можливо, захочете використовувати деякі ручки для кодека та хочете їх налаштувати. Ffmpeg дає вам всі ручки, які вам можуть знадобитися, і набагато більше, ніж це. Це важке озброєння перетворення та кодування відео. Тож цей приклад - хороший момент для початку для тих, хто хоче зробити більш-менш вдосконалені кодування і готовий трохи експериментувати, щоб отримати дійсно гідні результати.


6

Ви можете робити записи WebM в Ubuntu 11.10 + GNOME Shell, натискаючи комбінацію клавіш Ctrl+ Shift+ Alt+ R.

При першому натисканні комбінації в області повідомлень з’являється червоне коло, що вказує на те, що запис розпочато. Коли ви другий раз натискаєте на нього, червоне коло зникає, і ви матимете запис у ${HOME}/Videosкаталозі.

Більше інформації тут: Gnome Shell Cheat Sheet: Запис екрана


У той час, коли я спочатку це запитував, у мене не було GNOME Shell. Але я збирав його з jhbuild10.10, і він встановлений на моїх системах 11.10, і я знаю, що це також працює. Дякуємо, що додали цю відповідь!
Крістофер Кайл Хортон

У поточній версії (з використанням 16.04) відеозаписи зберігаються в ~/Videosімені файлу Screencast from {date} {time}.webm.
Каріем

3

Для цього використовуйте додаток transmageddon. його додаток на базі Gstreamer

sudo apt-get install transmageddon або натисніть тут, щоб встановити transmageddon


Я переглянув залежність для transmageddon через sudo apt-get install, і пакет gstreamer-plugins-потвор, про який я згадував вище, був включений у список. Знову ж таки, я не впевнений, чи це цілком законно для мене, і це для мене важливо.
Крістофер Кайл Хортон

2

Використовуйте Казам для запису.

Вихід - mkv , і добре працює з Youtube. Тільки проблема Казаму, здається, деякий час не оновлювалася.

BTW Ви повинні бути в безпеці при використанні Tibesti, якщо я правильно розумію, якщо, звичайно, ви абсолютно не параноїчні, що якийсь гігантський космічний корабель інопланетян викраде вас і вас катують за використання програмного забезпечення ...


Казам просить встановити ffmpeg під час встановлення sudo apt-get install, що я не впевнений, чи міг би я ним законно користуватися.
Крістофер Кайл Хортон

@ Warrioring64, я не думаю, що ffmpeg є незаконним ...
RolandiXor

Про це я повинен хвилюватися, оскільки я перебуваю в США, і тут патентні програми на виконання програмного забезпечення застосовуються. Будь ласка, подивіться цю частину у Вікіпедії, якщо це може допомогти вам зрозуміти, про що я тут.
Крістофер Кайл Хортон

2
@ Warrioring64 - версія Ubuntu позбавлена ​​цих кодеків.
RolandiXor

Гаразд ... але, дивлячись далі на вказані залежності, я також знайшов libavcodec-extra-52 та libavutil-extra-52, які з трохи більше досліджень, які я знайшов, можуть скласти для мене проблеми. Вибачте, якщо мені здається трохи важким, але навіть якщо я реально не потрапляю за використання такого програмного забезпечення, я все одно не хотів би, щоб це було на моїй совісті.
Крістофер Кайл Хортон

2

11.10 та попередні

ffmpegможна використовувати для перетворення .ogv в .webm безпосередньо без необхідності додаткових кодеків. Як згадується в коментарі до іншої відповіді , версія, що ffmpegнадається Ubuntu, за замовчуванням не має кодеків, які можуть створювати проблеми з патентами на програмне забезпечення.

Це програма командного рядка; щоб скористатися ним, просто відкрийте вікно терміналу та введіть:

ffmpeg -i input.ogv output.webm

Так. Я тільки що встановив ffmpeg без medibuntu repo, і він витягнув усі безкоштовні версії пакетів, і я закодував wmv в webm легко за допомогою ffmpeg -i file.wmv -f webm -sameq file.webm
duffydack

1

imo, Найкращий спосіб конвертувати відео в WebM - це Firefogg .

  • Це плагін Firefox (тому це багатоплатформенний інструмент, як і firefox)
  • Він буде стискатися до формату WebM (відкритий код - сумісний з веб-кодеком)
  • Він пропонує кілька розмірів кодування (дійсно зручно придумати найкращий коефіцієнт стиснення)
  • Справді ефективний коефіцієнт стиснення (принаймні стільки, як H264)
  • Це супер просто у використанні

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.