Я в настоящее время создаю видео учебное руководство для программного инструмента. Я записал несколько коротких видео (между 30 секундами и 4 минутами) с RecordMyDesktop, который я теперь должен объединить в единственное видео. Конвейер задачи похож на следующее:
Преобразуйте файлы от ogv до avi (или другой осуществимый формат).
Обрежьте нежелательные разделы от видео (таких как взаимодействие с самим RecordMyDesktop).
Объедините различные обрезанные видео в единственный файл.
Звучит простым, но я жил целая сага прошлые несколько недель, пытаясь сделать это без успеха. Ниже я детализирую шаги, которые я сделал до сих пор и проблемы, которые я нашел.
Преобразование ogv к avi
Существуют различные потоки здесь об этом предмете, указывая на несколько инструментов. Многие из этих потоков, кажется, устарели, но я в конечном счете следовал за использованием avconv
, например:
avconv -i "input.ogv" -vcodec mjpeg -acodec mp2 -qscale 10 "output.avi"
Ранее я попробовал ffmpeg
, Avidemux, Жизни и другие, но все они перестали работать с ошибками или катастрофическим отказом на Ubuntu 14.04.
С avconv
существует видимая потеря качества изображения, и много шума добавляется к аудио, но ни один из него не является катастрофическим.
Обрезка
Для этой задачи единственный инструмент я знаю, который позволяет обрезать на уровне кадра, Avidemux. Другие, такие как Жизни также рекламируют эту функциональность, но не могут выполнить ее.
У меня не было ошибок при выполнении этой задачи с Avidemux, но получающиеся видео начали приводить к проблемам. Тотем не может играть одного из них, выпуская исключение; OpenShot также выдает предупреждение при открытии некоторых из этих видео, обрезанных с Avidemux.
Слияние
До сих пор я попробовал эту задачу пятью различными инструментами, всем из который отказавший:
OpenShot - заполненные 4 Гбита RAM и продолжали заполнять 4 Гбита подкачки, при которой точке система стала безразличной, вызвав перезагрузку. Всего обрезанные avi видео составляют в целом немного более чем 200 Мбит.
avimerge - производит объединенный файл, не выпуская предупреждающие сообщения, или сообщения об ошибках, но изображение и звук вне синхронизации. Существуют моменты, где играемый звук от частей, обрезанных на предыдущем шаге.
Kino - также производит объединенный файл, не выпуская ошибки, но полностью восхищает изображение, это постоянно мерцает и подпрыгивает, лишая возможности понимать.
у кошки + mencoder - конечный результат есть подобные проблемы как с avimerge.
Avidemux - в конечном счете узнанный это также может объединить файлы, хотя процесс не очевиден. Получающиеся видео приводят к звуку и изображению из синхронизации; при открытии объединенного файла с плеером, таким как Тотем, длина о двойном из того, о чем сообщает Avidemux.
Вопрос
На данном этапе я сильно подозреваю, что что-то идет неправильно в восходящем направлении объединяющегося шага, возможно, с обрезкой (и таким образом подробная история).
Мой вопрос сводится: как выполнить эти три по-видимому простых задачи с видео, произведенными с RecordMyDesktop? Я ценил бы предложения или для абсолютно нового конвейера обработки или к изменениям на одном из шагов. Комментарии от опытных пользователей RecordMyDesktop также приветствуются.
Обновление I: включенные результаты слияния с cat
и mencoder
.
Обновление II: включенные результаты слияния с Avidemux.
Возможно, Вы ищете различный рабочий процесс.
можно сначала отключить части, которые Вы хотите с oggz-chop
. Просто введите в терминале:
oggz-chop -o output.ogv -s start -e end input.ogv
Это должно дать Вам хорошие файлы, которые Вы хотите сохранить. Удостоверьтесь, что Вы называете их в некотором последовательном порядке, чтобы быть в состоянии иметь дело с ними позже.
После этого:
существует oggCat
команда, которая в состоянии связать два или больше ogg файла, вместе производящие один ogg файл длины, равной сумме всех обеспеченных.
командная строка, которая поможет Вам:
oggCat output.ogv infile1.ogv infile2.ogv infile3.ogv ...
не путают, это с другой командой от того же пакета назвало oggJoin
, который делает что-то очень отличающееся, создавая единственный файл с несколькими потоками, которые будут работать параллельно.
Теперь, для обрезки, я знаю, что существует способ сделать это без потерь путем редактирования заголовка потока Theora, но я был неспособен выяснить, как сделать это на данный момент. Я обновлю ответ, если я найду путь.