Как объединить два видеокадра в один, чтобы финальное видео воспроизводило два кадра как один одновременно

Я хочу соединить два видео в одно. Возьмем для примера два видео с Youtube. Я хочу, чтобы у моего финального видео высота = высота первого видео + высота второго видео и ширина = макс (ширина первого видео, ширина второго видео). В верхней части первое видео видео воспроизводится, тогда как в нижней части воспроизводится второе видео.

Знаете ли вы, как это сделать в Linux, что лучше всего при использовании mencoder, ffmpeg или любой другой команды командной строки?


4

Это можно сделать с помощью ffmpeg. Если видео одинакового размера:

  ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex  '[0: v] pad = iw: ih * 2:  0: 0 [intv]; [intv] [1: v] overlay = 0: H/2 [vid] ' -map [vid] -c: v libx264 -crf 22 -preset veryfast output.mp4   

Если они разных размеров (где input1.mp4 имеет более высокое разрешение):

  ffmpeg -i input1.mp4 -i input2.  mp4 -filter_complex  '[0: v] pad = iw: ih * 2: 0: 0 [intv]; [intv] [1: v] overlay = (Ww)/2: H/2 [vid]' - карта  [vid] -c: v libx264 -crf 22 -preset veryfast output.mp4  

Если вы знаете разрешения видео, вы можете получить более хороший результат. Предположим, что input1.mp4 больше (или, по крайней мере, с таким же разрешением), а input2.mp4 имеет высоту 360:

  ffmpeg -i input1.mp4 -i input2.mp4  -filter_complex  '[0: v] pad = iw: ih + 360: 0: 0 [intv]; [intv] [1: v] overlay = (Ww)/2: H-360 [vid]' - map [  vid] -c: v libx264 -crf 22 -preset veryfast output.mp4  

Улучшите этот ответ
отредактировано 17 января ’13 в 02:12
ответил 17 января ’13 в 1:02
  • объясните -crf 22, пожалуйста — Ади Прасетьо 23 нояб., 20:26
добавить комментарий |

Это можно сделать с помощью ffmpeg. Если видео одинакового размера:

  ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex  '[0: v] pad = iw: ih * 2:  0: 0 [intv]; [intv] [1: v] overlay = 0: H/2 [vid] ' -map [vid] -c: v libx264 -crf 22 -preset veryfast output.mp4   

Если они разных размеров (где input1.mp4 имеет более высокое разрешение):

  ffmpeg -i input1.mp4 -i input2.  mp4 -filter_complex  '[0: v] pad = iw: ih * 2: 0: 0 [intv]; [intv] [1: v] overlay = (Ww)/2: H/2 [vid]' - карта  [vid] -c: v libx264 -crf 22 -preset veryfast output.mp4  

Если вы знаете разрешения видео, вы можете получить более хороший результат. Предполагая, что input1.mp4 больше (или, по крайней мере, с таким же разрешением), а input2.mp4 имеет высоту 360:

  ffmpeg -i input1.mp4 -i input2. mp4 -filter_complex  '[0: v] pad = iw: ih + 360: 0: 0 [intv]; [intv] [1: v] overlay = (Ww)/2: H-360 [vid]' - карта  [vid] -c: v libx264 -crf 22 -preset veryfast output.mp4  

1

Если оба видео имеют одинаковую высоту, вы можете использовать hstack, вы также можете сделать это «вертикально» с помощью vstack, выше Vfilter быстрее, чем pad + overlay для получения того же вывода:

  ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex  '[0: v] [1: v] hstack [  vid] ' -map [vid] -c: v libx264 -crf 22 -preset veryfast output.mp4  

Улучшите этот ответ
отредактировано 24 ноября ’20 в 9:14
Ади Прасетьо
12644 бронзовых значка

v>

ответил 22 марта ’17 в 8:57
добавить комментарий |

Если оба видео имеют одинаковую высоту, вы можете использовать hstack, вы также можете сделать это «вертикально» с помощью vstack, выше Vfilter быстрее, чем pad + overlay для получения того же вывода:

  ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex  '[0: v  ] [1: v] hstack [vid] ' -map [vid] -c: v libx264 -crf 22 -preset veryfast output.mp4  

0

Думаю, я нашел ответ здесь: https://stackoverflow.com/questions/575705/how- can-i-tile-videos-create-a-video-montage Я подробнее рассмотрю решения, опубликованные в этой ветке.

Улучшите этот ответ
отредактировано 23 мая ’17 в 12:41
Сообщество ♦
1
ответил 11 окт.10 в 20:48
добавить комментарий |

Думаю, я нашел здесь ответ: https://stackoverflow.com/questions/575705/how-can-i-tile- videos-create-a-video-montage Я более подробно рассмотрю решения, опубликованные в этой теме.



Как объединить два видео в одно с помощью Javascript и html, а также предоставить ссылку для загрузки для этого видео?

Я пытаюсь объединить два видео, взятых в качестве ввода пользователем, а затем отобразить его, а также предоставить ссылку для загрузки для окончательного видео. Мой код не объединяет два видео, а воспроизводит их одно за другим. Итак, как я могу объединить их вместе и предоставить ссылку для загрузки? Вот мой HTML-код.

      Видеоредактор     

Видеоредактор

Объединение видео








Разделение видео

добавить аудио в видео

код javascript: -

  var myvid = document.getElementById ('myvid'); var video = document.getElementById ('video'); myvid.addEventListener ("изменить  ", function () {var source = document.getElementById ('video_here'); console.log (source); source.src = URL.createObjectURL (this.files [0]); video.load (); video.addEventListener  ('завершено', function (e) {//получаем активный источник и следующий источник видео.//Я установил его так, что если следующего нет, он переходит к первому var activesource = document.querySelector  ("# источник видео.активный");  var nextsource = document.querySelector ("# video source.active + source") ||  document.querySelector ("# источник моего видео: первый ребенок");  console.log ("nextsource" + nextsource); //деактивировать текущий источник и активировать следующий activesource.className = "";  nextsource.className = «активный»; //обновляем источник видео и воспроизводим video.src = nextsource.src;  video.play ();  });}); var myvid = document.getElementById ('newmyvid');//var video = document.getElementById ('video'); myvid.addEventListener ("изменение", function () {var source = document.getElementById  ('newvideo_here'); console.log (источник); source.src = URL.createObjectURL (this.files [0]); console.log (source.src)//video.load();});код> 


1

Я думаю, вам следует смешивать видео самостоятельно, используя технику, подобную той, что показана по этой ссылке: https://developer. mozilla.org/en-US/docs/Web/Guide/Audio_and_video_manipulation. Он манипулирует каждым пикселем каждого кадра, делая его серым. Возможно, вы могли бы воспроизвести два видео одновременно и смешать пиксели вместе.

Я не знаю, как загрузить окончательно сгенерированное видео.

Улучшить этот ответ
ответил 21 окт.2020 в 05:25
добавить комментарий |

Я думаю, вам следует самостоятельно микшировать видео, используя технику, подобную той, что приведена по этой ссылке: https://developer.mozilla.org/ en-US/docs/Web/Guide/Audio_and_video_manipulation. Он манипулирует каждым пикселем каждого кадра, делая его серым. Возможно, вы могли бы воспроизвести два видео одновременно и смешать пиксели вместе.

Я не знаю, как загрузить окончательно сгенерированное видео.

Оцените статью
logicle.ru
Добавить комментарий