当前位置: 首页 > 知识库问答 >
问题:

MediaCodecLollipop未以60 FPS解码原始H264流1080p

濮阳
2023-03-14

这是我对线下的后续问题

Android Lollipop 5.0.2上慢速H264 1080p@60fps解码

调试上述问题的根本原因的过程中,我尝试了各种方法以60 fps的速度解码1080p。

>

  • 我尝试将H264数据包装到MP4容器中(不进行代码转换)。各种库存播放器的MP4播放速度都比较慢(60fps以下,42fps左右)。

    我尝试使用来自Android NDK的本机编解码器示例。还是没有进展。

    1. 解码器是否能够以正确的帧率播放1080p@60fps视频?
    2. 如果是,那么为什么MediaCodec(内部使用ACodec代码)不能播放1080p@60fps视频。
    3. 我不确定在此过程中是否使用了OMXCodec,我可以从哪里获取OMXCodec示例代码来解码我的视频。
  • 共有1个答案

    乜业
    2023-03-14

    解码器是否能够播放1080p@60fps视频,帧率正确?

    完全取决于设备。

    如果是,那么为什么MediaCodec(内部使用ACodec代码)不能播放1080p@60fps视频。

    “要求我们推荐或查找书籍、工具、软件库、教程或其他非站点资源的问题与堆栈溢出无关,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及到目前为止为解决问题所做的工作。”

     类似资料:
    • 我有一个项目,我被要求在android中显示一个视频流,该流是原始的H.264,我正在连接到一个服务器,并将从服务器接收一个字节流。 基本上,我想知道有没有一种方法可以将原始字节发送到android的解码器并显示在Surface上? 我使用Android4.1中新的MediaCodec和MediaExtractor API成功地解码了包装在mp4容器中的H264,不幸的是,我没有找到使用这些API

    • 我从服务器接收到h264数据,我想在Android上使用mediacodec和texture view对该流进行解码。我从服务器获取数据,解析它得到SPS、PPS和视频帧数据,然后我将该数据传递给mediacodec,但函数dequeueOutputBuffer(info,100000)总是返回-1,并且我得到dequeueOutputBuffer超时。 请帮忙,我三周来一直在忙这个问题。 这是用

    • 最近,由于系统升级,我们将应用程序移植到Android L版本5.0.2。我的应用程序不能播放像720p@60fps和1080p@60fps这样的高分辨率视频。 同样,这是我关于stackoverflow的问题,请原谅我关于错误的代码格式和直接引用的问题。

    • 我现在正在Android上对一个h264字节流进行解码。流是从第三方产品发送的,我不太确定它的视频格式。该文件说,流由PPS和SPS NAL单位组成。但我接收到的h264字节流包括以0x00、0x00、0x00、0x01开头的序列,并且在我接收到的样本中,第5个字节可能是0x09、0x21或0x06。这让我兴奋了一段时间,因为它似乎与通常的0x67或0x68指示器不同。有人知道NAL单元头中的0x

    • 大小范围在2.5MB-20MB之间。这个问题在较长的剪辑上变得更糟,例如7分钟的范围是9MB-120MB。 正常吗? 我试图捕捉同样的场景,但还是得到了不同的结果。

    • 问题:Libav/FFmpeg解码管道需要什么才能在解码的AVFrames中生成有效的表示时间戳(PTS)? 我正在解码通过RTSP接收的H264流。我使用Live555解析H264并将流提供给我的LibAV解码器。解码和显示效果很好,只是我没有使用时间戳信息,而且有些口吃。 获取带有的帧后,不设置演示时间戳(PTS)。 我需要PTS,以找出每帧需要显示多长时间,并避免任何口吃。 我通过Live5