【问题标题】:Saving h.264 streaming video using MediaMuxer on Android在 Android 上使用 MediaMuxer 保存 h.264 流视频
【发布时间】:2016-03-23 14:30:20
【问题描述】:

(我的英语不是很好,但我会尽力而为。)

我正在开发一个将接收到的 h.264 流式视频/音频帧保存到剪辑中的 Android 应用。我遇到了一个提到here 的问题,“缺少编解码器特定数据”。

我尝试了一些方法来解决这个问题。

  1. 分配预定义的编解码器特定数据。
    我从this post 借来的,它工作得非常完美——但仅限于我的个人手机(Sony Xperia Z3,Android 5.1.1)。大多数测试设备都会崩溃。(Android 4.3/4.4)。
  2. 从视频流本身解析编解码器特定数据。
    在我的手机上它粉碎了。但不知何故适用于某些设备。 我以this code 为例。
  3. 创建一个编码器来对接收到的视频帧进行编码,然后将它们传递给 MediaMuxer。
    是的,这是一个愚蠢的想法,它不起作用。
  4. 创建一个解码器来解码接收到的视频帧,将它们传递给编码器,然后将编码的帧传递给 MediaMuxer,保存它。
    应用程序无法从编码器获取任何空闲缓冲区。死锁。

现在我的想法已经不多了。

我得到的最后希望是使用 ffmpeg。
但我发现的资源是来自视频文件的编码/解码视频,而不是来自流。
有什么建议吗?

提前致谢。 :)

【问题讨论】:

    标签: android video streaming h.264 mediamuxer


    【解决方案1】:

    经过一周的尝试,包括周末学习 h.264 规范等等。

    我发现问题不在于视频。

    是音频导致应用崩溃。


    案例结束,感谢观看。 :\

    【讨论】:

      猜你喜欢
      • 2022-03-24
      • 1970-01-01
      • 2013-09-22
      • 2016-12-02
      • 1970-01-01
      • 2015-06-14
      • 2015-12-19
      • 2011-05-20
      • 1970-01-01
      相关资源
      最近更新 更多