8

リモートサーバーにアップロードする前に Android でビデオファイルを圧縮するにはどうすればよいですか? ファイルを圧縮するつもりはありません。あまり役に立たないと思うからです。ビデオを圧縮し、ビットレートまたは解像度を下げて再エンコードしたいと考えています。アイデアは、すべてのデバイスから標準の 360×480、30 FPS ビデオ ファイルを取得することです。このようにして、優れたカメラを使用しているユーザーが巨大なビデオ ファイルをアップロードすることを余儀なくされるのを防ぐことができます。

iOS では、ビデオ ファイルの解像度を強制することが非常に簡単になっていることは知っています。iPhone 4 で録画された 10 秒のビデオ:

  • 高 (1280×720) = ~14MB = ~11Mbit/s
  • 640 (640×480) = ~4MB = ~3.2Mbit/秒
  • 中 (360×480) = ~1MB = ~820Kbit/s
  • 低 (144×192) = ~208KB = ~170Kbit/s

Androidでこれを行う簡単な方法はありますか? ビデオ ファイルを再エンコードし、SD カードに保存 (または古いビデオ ファイルを上書き) してから、そのファイルをアップロードできる外部ライブラリを見つける必要がありますか? ここでは主に一般的な方向性を探しており、コピーして貼り付けるコードではありませんが、何でも役に立ちます。

4

5 に答える 5

9

同様の問題が発生しました。サイズが5.4mb以内のサーバーにビデオをアップロードする必要がありました。しかし、スマートフォンごとにカメラの解像度が異なるため、問題が発生しました。これらは私が選んだ解決策です

mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
mediaRecorder.setVideoEncodingBitRate(690000 );

これらがあなたを助けることを願っています

于 2014-01-03T06:36:30.760 に答える
1

このライブラリについてお読みください。フル HD カメラを搭載した新しいモバイルに最適です。

Java および Kotlin 向けの高品質のビデオ圧縮

于 2020-08-27T06:39:21.377 に答える
0

この機能は、プロジェクトの別の反復のために保存することにしました。大規模なデータ ペイロードについてユーザーに警告することを選択しました (特に Wi-Fi を使用していない場合)。私はこれができると確信しており、tabbykitten によって提供されたリンクは、このトピックでこれまでに見つけた最も関連性の高い SO 投稿です。

于 2012-08-06T21:33:57.223 に答える