2013-07-11 3 views
3

Я использую FFmpeg для конкат-видео в приложении для Android. Я выполнил некоторые шаги для объединения видео разных форматов. Для видео mp4 мне нужно преобразовать все входные файлы в файлы TS MPEG-2, а затем слить все .ts-файлы, чтобы получить выходной файл mp4.Конкатентные видеофайлы разных разрешений с использованием FFmpeg

  • У меня есть проблема в слиянии видео, если они разные резолюций (скажем, один 640 * 480, а другой 1280 * 720) .Отель выход видео не сливается должным образом (иногда он бросает ошибка в Потоки). Есть ли способ справиться с этим, не теряя качества видео ?

  • Допустим, я слияние двух видео один с аудио и другие без audio.When я пытаюсь объединить эти два я получаю ошибки в аудио Streams.Is Есть ли способ, чтобы справиться с этим также (видео должно быть сливается с аудио или без него)?

Я столкнулся с проблемами в двух вышеуказанных вещах и провел больше времени без успеха. Любая идея очень ценится.

+0

Вы используете инструмент командной строки ffmpeg или API? Вы упоминаете «ошибки», но вы их не показываете. – LordNeckbeard

+0

Я использую API ffmpeg и параметры передаются из android. – vijay

+0

https://superuser.com/a/1136854/101823 –

ответ

0

Для слияния видео вам необходимо работать с тем же разрешением, вы должны масштабировать видео 640x480 или сжимать 1280x720, это зависит от вас. Я бы рекомендовал вам сжать большую, чем быстрее.

Кроме того, для слияния видео необходим медиафайл с аудио и видео частью. Вы можете создать звук тишины с одинаковой продолжительностью вашего видео и после того, как вы сможете добавить его в свое видео. Видео следует объединить с аудио.

ffmpeg -ar 48000 -t 60 -f s16le -acodec pcm_s16le -i /dev/zero -ab 128K -f mp2 -acodec mp2 -y silence.mp2 

ffmpeg -i video_without_audio.mpg -i silence.mp2 video_to_merge.mpg 
+0

Alvaro, Спасибо за ответ./dev/zero - это входной видеофайл, верно? Также как мы знаем, есть ли звук или нет? Может ли это быть сделано автоматически FFmpeg, потому что для конверсий требуется очень много времени, что делает приложение плохой. – vijay

+0

/dev/zero - это не видеофайл, эта команда предназначена для создания фиктивного аудио, чтобы присоединиться к вашему видео, без звука вы не можете объединять видео. Чтобы узнать, есть ли аудиопоток, используйте вывод ffmpeg, с опцией -i вы можете проверить потоки, поток # 0.0 видео и поток # 0,1 аудио. –

+0

Спасибо Alvaro, я проверю его. Есть ли способ конвертировать видеофайлы разных форматов прямо в один шаг без конверсий, потому что требуется больше времени? Также у меня возникают проблемы с созданием последней версии ffmpeg. Есть ли какие-либо шаги для использования библиотек ffmpeg (после создания отдельно) с помощью android для создания общей библиотеки, содержащей все команды ffmpeg? – vijay

Смежные вопросы