2016-08-07 6 views
7

ビデオをChromecastにストリームする(nannoHttpdを使用)、すべて正常に動作しています。私の問題は次のとおりです。新しいデバイスを使用して録画されたビデオのサイズが大きすぎてストリーミングできないため、ビデオをある程度低いビットレートで再エンコードしたい。ビットレートとストリームを低いビットレートでビデオにトランスコード

私はffmpegを試みましたが、結果は満足のいくものではなく、apkのサイズは14 MB増加します。

私はMediaCodec APIを試しています。これはffmpegよりも速いですが、入力ファイルを取り出して出力ファイルに書き込むので、nannohttpdが提供するバイトデータを再エンコードする必要があります。

解決策は、ビデオをトランスコードし、出力ファイルをストリームすることですが、2つの欠点があります。

  1. ファイルが大きすぎてユーザーが動画全体を表示しない場合はどうなりますか?多くのCPU、バッテリのリソースが無駄になります。
  2. ユーザーが長いビデオをまだエンコードされていない時間に早送りするとどうなりますか?
+0

私たちはストリーミングビデオファイルを記録していますが、リアルタイム取得+ストリーミングに近いものはありません。 –

+0

@ J.Jacobs-VP yeah right – ingsaurabh

答えて

1

1 MediaCodecはデコードエンコードを1つだけ行います。新しいエンコードされたデータの生のバイトを取得します。だからプログラマーは、muxerを使ってコンテナ(.mp4ファイル)にダンプするかどうかを選択する必要があります。したがって、すべてをファイルに書き戻す必要はありません。

2適切なデータを探してMediaCodecを再起動します。

+0

私は私の質問で述べたようにこれを知っていますが、それを行うにはいくつかのコードをどのように行うのが役に立ちます – ingsaurabh

関連する問題