gpt4 book ai didi

java - mediaReader.readPacket() 在 Xuggler 中尝试读取 rtsp 流时阻塞

转载 作者:行者123 更新时间:2023-12-04 23:28:31 25 4
gpt4 key购买 nike

我正在尝试使用以下代码将视频(带有 Xuggler 5.4 库)从 rtsp 流下载到文件中。

    String inputSource = "rtsp://[ip-address]:[port]/user=[username]&[password]=password&channel=1&stream=1.sdp";
String outputFilename = "d:/downloadedrtsp.flv";
try {
IContainerFormat inFormat = IContainerFormat.make();
inFormat.setInputFormat("h246");

IMediaReader mediaReader = ToolFactory.makeReader(inputSource);
mediaReader.setQueryMetaData(false);

IMediaWriter mediaWriter = ToolFactory.makeWriter(outputFilename, mediaReader);
mediaReader.addListener(mediaWriter);

logger.info("before reading");
IError error;
while ((error = mediaReader.readPacket()) == null) {
logger.info("reading packet");
}
logger.info("error: " + error.getDescription());
logger.info(error.getType());
logger.info(error.toString());
} catch (Exception e) {
e.printStackTrace();
}

问题是,在“阅读之前”打印代码后,代码就停止执行,过了很长时间,它从记录器中打印出三行:

error: Unknown error

ERROR_EOF

Unknown error



当我在 VLC 媒体播放器中打开 Stream 时,它的效果很好。我确信我的 mediaReader 配置存在一些错误,但我不知 Prop 体在哪里,因为我在处理视频方面的经验很少。以下是有关视频的一些信息,取自 VLC:

enter image description here

最佳答案

似乎一切都按预期进行。
错误类型ERROR_EOF标记输入流的结束(见 the documentation)。
编程“停止执行”的时间是 Xuggler 转换视频帧所需的时间(它实际上并没有“停止”,只是遍历 while 循环)。

关于java - mediaReader.readPacket() 在 Xuggler 中尝试读取 rtsp 流时阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31344660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com