Как создать бок о бок два видео с отступами и фоновым изображением, используя ffmpeg? - PullRequest
3 голосов
/ 23 мая 2019

Два видео воспроизводятся одновременно с collageView с использованием ffmpeg.У меня есть код, но он не работает должным образом, пожалуйста, помогите мне.

-ss " + getStartTime()  + durationTime_act_select +getVideoUrl() +
                       " -ss " + getStartTime() +
                       " -t " + this.durationTime_act_select +
                       " -i " + getVideoUrl() +
                       " -i " + "R.jpg" +
                       " -filter_complex nullsrc=size=720*720[base1];" +
                       "[0:v]setpts=PTS-STARTPTS,scale=345*700[upperleft];" +
                       "[1:v]setpts=PTS-STARTPTS,scale=345*700[upperright];" +
                       "[2:v]setpts=PTS-STARTPTS,scale=720*720[over];" +
                       "[base1][over]overlay=shortest=1:x=0:y=0[base];"+
                       "[base][upperleft]overlay=shortest=1:x=10:y=10[tmp1];" +
                       "[tmp1][upperright]overlay=shortest=1:x=366:y=10" +
                       " -c:a copy -strict experimental -ss 0 -t " + this.durationTime_act_select + " -preset ultrafast -an " +videoName_act_select

enter image description here

1 Ответ

4 голосов
/ 23 мая 2019

как ваше требование

array2 = (FileUtils.getFFmpeg(SelectedFrameVideos.this) +
                       " -y -ss " + ((Collage) Utils.collageData.get(0)).getStartTime() +
                       " -t " + String.valueOf(this.durationTime_act_select) +
                       " -i " + ((Collage) Utils.collageData.get(0)).getVideoUrl() +
                       " -ss " + ((Collage) Utils.collageData.get(1)).getStartTime()+
                       " -t " + String.valueOf(this.durationTime_act_select) +
                       " -i " + ((Collage) Utils.collageData.get(1)).getVideoUrl() +
                       " -i " + "/storage/emulated/0/R.jpg" +
                       " -filter_complex nullsrc=size=720*720[base];" +
                       "[base][2:v]overlay=1,format=yuv420p[base1];"
                       "[0:v]setpts=PTS-STARTPTS,scale=345*700[upperleft];" +
                       "[1:v]setpts=PTS-STARTPTS,scale=345*700[upperright];" +
                       "[base1][upperleft]overlay=shortest=1:x=10:y=10[tmp1];" +
                       "[tmp1][upperright]overlay=shortest=1:x=366:y=10" +
                       " -c:a copy -strict experimental -ss 0 -t " + String.valueOf(this.durationTime_act_select) + " -preset ultrafast -an " +
                       SelectedFrameVideos.this.videoName_act_select).split(" ");

Добавьте два видео бок о бок, а также добавьте изображение OverLay, которое будет отображаться при добавлении видео. Вы можете изменить фоновое изображение "-i" + "/storage/emulated/0/R.jpg" здесь установите ваше изображение bg путь

Показать это видео ниже, его создать из этой команды

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...