Добавление одного видеофайла .flv к другому - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь объединить два видеофайла .flv вместе в один, но хотя размер выходного файла точно равен сумме двух видео, которые я пытаюсь объединить, -1, когда я пытаюсь воспроизвести новый видеофайлон воспроизводит первый файл.Я уверен, что это связано с установкой флага завершения после того, как первое видео было прочитано в выходной поток, но я не совсем уверен, как это исправить и удалить, чтобы видео воспроизводилось до конца.Я убедился, что оба файла имеют одинаковую кодировку, так как я только что записал несколько полноэкранных цветов из obs в качестве моих тестовых видео.В любом случае, как мне исправить это?

package testing.space;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class TestingSpace
{

    public static void main(String args[])
    {

        final int BUFFERSIZE = 8192;
        String introFilePath = "C:\\ExampleFile1Path\\vid1.flv";
        String vodFilePath = "C:\\ExampleFile2Path\\vid2.flv";
        String outputFilePath = "C:\\ExampleOutputPath\\output.flv";

        try (
                FileInputStream intro = new FileInputStream(new File(introFilePath));
                FileInputStream vod = new FileInputStream(new File(vodFilePath));
                FileOutputStream fout = new FileOutputStream(new File(outputFilePath));
            )
        {

            byte[] introBuffer = new byte[BUFFERSIZE];
            int introBytesRead;

            while ((introBytesRead = intro.read(introBuffer)) > 0)
            {
                fout.write(introBuffer, 0, introBytesRead);
            }

            byte[] vodBuffer = new byte[BUFFERSIZE];
            int vodBytesRead;

            while ((vodBytesRead = vod.read(vodBuffer)) > 0)
            {
                fout.write(vodBuffer, 0, vodBytesRead);
            }

        }
        catch (Exception e)
        {
            System.out.println("Something went wrong! Reason: " + e.getMessage());
        }
    }
}
...