【问题标题】:Transcode video to lower bitrate and stream将视频转码以降低比特率和流式传输
【发布时间】:2016-08-25 17:52:13
【问题描述】:

我有一个可以将视频流式传输到 Chromecast(使用 nannoHttpd)的工作应用程序,并且一切正常。现在我的问题是:使用新设备录制的视频太大而无法流式传输,因此我想将视频重新编码为较低的比特率。

我试过 ffmpeg 但结果并不令人满意,它会增加 14 MB 的 apk 大小。

现在我正在尝试 MediaCodec api。它比 ffmpeg 快,但它需要输入文件并将其写入输出文件,我想重新编码将由 nannohttpd 提供的字节数据。

现在我想到了一个解决方案,即转码视频并流式传输输出文件,但它有两个缺点;

  1. 如果文件太大而用户看不到整个视频怎么办?大量的 CPU、电池资源被浪费了。
  2. 如果用户将长视频快进到尚未重新编码的时间怎么办?

【问题讨论】:

  • 只是为了说清楚:我们说的是已经录制的流式视频文件,没有接近实时采集+流式的东西吗?
  • @J.Jacobs-VP 是的,对

标签: android android-mediacodec


【解决方案1】:

1 MediaCodec 只做一件事解码编码!您将获得新编码数据的原始字节。因此,程序员可以选择使用多路复用器将其转储到容器(.mp4 文件)中。所以这里不需要将所有内容都重写回文件中。

2 寻找正确的数据块并重新启动 MediaCodec。

【讨论】:

    猜你喜欢
    • 2021-04-09
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    • 2013-08-03
    • 2016-09-04
    • 2017-10-21
    • 1970-01-01
    • 2014-12-25
    相关资源
    最近更新 更多