Я пытаюсь объединить два видеофайла .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());
}
}
}