아래 코드로 Xuggler로 비디오를 성공적으로 재생할 수있었습니다. 파일 대신 inputStream에서 스트리밍 할 수 있어야합니다. 주석 처리 된 코드를 사용하여 Icontainer를 만들려고했습니다. 나는 코드를 주석 처리 할 때 inputstream 대신 String을 사용하도록 getTestFile 메소드를 수정했다. 그것은 원래 inputstream을 정확하게 얻었습니다.Xuggler로 비디오 스트리밍
Icontainer를 open으로 호출하면 무기한으로 차단됩니다. 이 문제에 올바르게 접근하고 있는지 나는 모른다. 어떻게하면 기본적으로 같은 일을하지만 파일을 사용하지 않고 입력 스트림을 사용합니까?
덕분에
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();
}
}
올바른 형식을 동적으로 결정하려면 어떻게해야합니까? – rubixibuc
'null '형식을 지정하면 IContainer 클래스가 추측을 시도합니다. –
나는 이것을 시도 할 때 부분적인 파일 오류가있는 무한 루프를 얻는다. –