Udało mi się odtworzyć wideo z Xuggler z kodem poniżej. Muszę mieć możliwość przesyłania strumieniowego z pliku inputStream zamiast z pliku. Próbowałem użyć skomentowanego kodu, aby utworzyć Icontainer. Zmodyfikowałem metodę getTestFile, aby używać String zamiast strumienia wejściowego, gdy skomentowałem kod. Początkowo poprawnie przyjmował strumień wejściowy.Streaming wideo z Xuggler
Kiedy zadzwonię otwarty na Icontainer to po prostu bloki w nieskończoność. Nie wiem, czy podchodzę do tego poprawnie. Jak zrobić zasadniczo to samo, ale bez użycia pliku i korzystania ze strumienia wejściowego?
Dzięki :-)
package com.plumber.testing;
import com.xuggle.mediatool.IMediaReader;
import com.xuggle.mediatool.IMediaViewer;
import com.xuggle.mediatool.ToolFactory;
import com.xuggle.xuggler.IContainer;
import java.io.FileNotFoundException;
import java.io.InputStream;
public class VideoTest {
public static void main(String[] args) throws FileNotFoundException {
// IContainer iContainer = IContainer.make();
// iContainer.open(getTestFile("IMG_0983.MOV"), null);
// I was originally passing the icontainer to make reader
IMediaReader mediaReader = ToolFactory.makeReader(getTestFile("IMG_0983.MOV"));
IMediaViewer mediaViewer = ToolFactory.makeViewer(true);
mediaReader.addListener(mediaViewer);
while (mediaReader.readPacket() == null) ;
}
private static String getTestFile(String fileName) {
return VideoTest.class.getClassLoader().getResource("com/plumber/testing/testfiles/" + fileName).getPath();
}
}
Jak mogę dynamicznie określić prawidłowy format do użycia? – rubixibuc
Jeśli podasz format 'null', klasa IContainer prawdopodobnie spróbuje odgadnąć. –
Po prostu próbuję uzyskać nieskończoną pętlę z częściowymi błędami plików. –