gpt4 book ai didi

Java 媒体框架 : how to get framerate from videostream

转载 作者:行者123 更新时间:2023-12-04 06:22:58 28 4
gpt4 key购买 nike

我正在使用 Java Media Framework 播放视频文件。

现在我想知道视频流的帧率?

这怎么可能?谢谢!

编辑:
以下实例可用:

javax.media.Manager
javax.media.MediaLocator
javax.media.NoProcessorException
javax.media.Processor

最佳答案

尝试以下

        try {
Processor myProcessor = Manager.createProcessor( myMediaLocator );
Format relax = myProcessor.getContentDescriptor().relax();
if(relax instanceof VideoFormat) {
double frameRate = ((VideoFormat)relax).getFrameRate();
}
} catch( NoProcessorException e ) {
} catch( NotConfiguredError e ) {
} catch( IOException e ) {
}

或者可能形成数据源的内容描述符。对于 URLDataSource :
DataSource dataSource = myProcessor.getDataOutput();
if(dataSource instanceof URLDataSource){
PullSourceStream[] streams = ((URLDataSource)dataSource).getStreams();
if(streams.length > 0){
Format relax = streams[0].getContentDescriptor().relax();
if(relax instanceof VideoFormat) {
System.out.println(((VideoFormat)relax).getFrameRate());
}
}
}

或者至少,尝试从 javax.media.Buffer 中获取格式:
DataSource dataSource = myProcessor.getDataOutput();
if(dataSource instanceof PullBufferDataSource){ // or PushBufferDataSource
PullBufferStream[] streams = ((PullBufferDataSource)dataSource).getStreams();
if(streams.length > 0){
Format relax = streams[0].getFormat();
if(relax instanceof VideoFormat) {
System.out.println(((VideoFormat)relax).getFrameRate());
}
}
}

关于Java 媒体框架 : how to get framerate from videostream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6342266/

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