Я немного посмотрел в спецификации и обнаружил, что ...
recordMyDesktop создает файлы, используя только открытые форматы. Это theora для видео и vorbis для аудио, использующие контейнер ogg.
Таким образом, очень вероятно, что у OpenShot возникли проблемы при разборе этого контейнера или любого из этих кодеков. Тем не менее, я бы попытался сообщить об ошибке в OpenShot, но если вы захотите попробовать другой контейнер или видео / аудио кодеки, вам, возможно, удастся проанализировать видео без проблем с синхронизацией.
OpenShot использует библиотеки FFmpeg для декодирования, поэтому высока вероятность, что он сможет анализировать все, что вы закодировали, используя сам FFmpeg.
Вы требовали, чтобы конверсия была без потерь. Это оставляет два варианта:
Измените контейнер и сохраните кодеки, например, от OGV до MKV. Я считаю, что MKV - единственный контейнер, который принимает оба кодека, которые у вас есть.
Если вы устанавливаете свежую копию FFmpeg (например, с помощью статической сборки отсюда) - и, пожалуйста, не используете устаревшую версию, которую предоставляет Ubuntu - тогда все, что вам нужно сделать, это:
ffmpeg -i input.ogv -c copy output.mkv
Возможно, это решает проблему, связанную с OGV в OpenShot.
Транскодируйте видео и аудио потоки в кодеки без потерь, например, из Theora в видео без потерь h.264 и Vorbis в аудио PCM.
Опять же, используя FFmpeg, это будет следующим для без потерь h.264 и звука PCM в контейнер MKV. Обратите внимание, что h.264 обычно не без потерь, но -qp 0
достигнет этого:
ffmpeg -i input.ogv -c:v libx264 -qp 0 -c:a pcm_s16le out.mkv
Или, используя контейнер MP4, который не поддерживает аудио PCM из коробки. Нам нужно будет перекодировать аудио в AAC здесь и предоставить немного более высокий битрейт, чтобы не слишком снижать качество:
ffmpeg -i input.ogv -c:v libx264 -qp 0 -c:a aac -strict -2 -b:a 192k out.mp4
Надеюсь, это решит ваши проблемы. Если нет, то, вероятно, лучшим решением будет заполнение отчета об ошибке с помощью OpenShot.
Если вас смущают термины, используемые здесь, пожалуйста, проверьте следующий вопрос: что такое кодек (например, DivX?) И чем он отличается от формата файла (например, MPG)? и для использования FFmpeg прочитайте нашу соответствующую запись в блоге.