Как добавить URI в ArrayList для слияния видео - PullRequest
0 голосов
/ 12 апреля 2020

Я хочу объединить видео. Все нормально. Но мне нужно добавить первое видео по умолчанию от uri до arraylist. Я использую ffmpeg. Я хочу установить первое видео из переменной uri по умолчанию. Я могу добавить видео в arraylist из галереи с помощью выбора видео из URL. Но я хочу установить первое видео по умолчанию uri. Как я могу решить это?

Есть идеи?

Мой код:

    File folder = new File(Environment.getExternalStorageDirectory() + "/Folder");

    if (folder.exists()){

    }else{
        folder.mkdir();
    }
    if (filePrefix == null){
        filePrefix = "merged_video";
    }

    String fileExtn = ".mp4";

     dest = new File(folder, filePrefix  + fileExtn);

    String parameters = getParametersOfVideos();

            if (videoPaths.size()==1){
                Toast.makeText(this, "Please upload a second video", Toast.LENGTH_SHORT).show();
            }

            else if(videoPaths.size()>5)
            {
                Toast.makeText(this, "You can merge only 5 videos ", Toast.LENGTH_SHORT).show();
            }

            else {
                ArrayList<String> list = new ArrayList<>();
                list.add("ffmpeg");
                list.add("-y");
                String paths = "";

                for(int i=0;i<al_video.size();i++){
                    list.add("-i");
                    list.add(al_video.get(i).getPath());
                }
                list.add("-filter_complex");
                list.add(parameters+" concat=n="+al_video.size()+":v=1:a=1");
                list.add("-ab");
                list.add("48000");
                list.add("-ac");
                list.add("2");
                list.add("-ar");
                list.add("22050");
                list.add("-s");
                list.add(realWid+"x"+realHei);
                list.add("-vcodec");
                list.add("libx264");
                list.add("-preset");
                list.add("ultrafast");
                list.add(dest.getAbsolutePath());

               complexCommand = list.toArray(new String[0]);videoPaths.get(1),"-filter_complex","libx264","-crf","27","-preset", "ultrafast",dest.getAbsolutePath()};
            }
...