4

GPUImage ライブラリを使用して、iOs アプリ (GPUimageVideoCamera) でビデオを圧縮してい ます https://github.com/BradLarson/GPUImage/

iOSで使用しましたが、非常に高速です

Android アプリで同じことをしたいのですが、GPUImageMovie クラスが Android ライブラリに存在しないようです: https://github.com/Cyber ​​Agent/android-gpuimage/tree/master/library/src/jp/co /cyberagent/android/gpuimage

Androidライブラリは画像(ビデオなし)でのみ機能するようです。

このライブラリが仕事をすることができるかどうか誰でも知っていますか? そうでない場合、誰かが GPUImage all ライブラリを開発しましたか? そうでない場合、GPUImageライブラリと同じくらい速く仕事をすることができる私が使用できる最高のライブラリは何ですか.

それが GPUimageVideoCamera が iOs で行うことです (ライブ ビデオのフィルタリング):

iOS デバイスのカメラからのライブ ビデオをフィルタリングするには、次のようなコードを使用できます。

GPUImageVideoCamera *videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
videoCamera.outputImageOrientation = UIInterfaceOrientationPortrait;

GPUImageFilter *customFilter = [[GPUImageFilter alloc] initWithFragmentShaderFromFile:@"CustomShader"];
GPUImageView *filteredVideoView = [[GPUImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, viewWidth, viewHeight)];

  // Add the view somewhere so it's visible

    [videoCamera addTarget:customFilter];
    [customFilter addTarget:filteredVideoView];

[videoCamera startCameraCapture];

これは、640x480 でキャプチャしようとするプリセットを使用して、iOS デバイスの背面カメラからのビデオ ソースをセットアップします。このビデオは、ポートレート モードのインターフェイスでキャプチャされます。この場合、横向きの左に取り付けられたカメラは、表示する前にビデオ フレームを回転させる必要があります。次に、ファイル CustomShader.fsh のコードを使用するカスタム フィルターが、カメラからのビデオ フレームのターゲットとして設定されます。これらのフィルタリングされたビデオ フレームは、このパイプラインから得られるフィルタリングされた OpenGL ES テクスチャを表示できる UIView サブクラスの助けを借りて、最終的に画面に表示されます。

GPUImageView の塗りつぶしモードは、fillMode プロパティを設定することで変更できます。これにより、ソース ビデオの縦横比がビューの縦横比と異なる場合、ビデオが引き伸ばされたり、黒いバーが中央に配置されたり、ズームされて塗りつぶされたりします。

複数の画像を取り込むフィルターなどをブレンドする場合は、複数の出力を作成し、これらの両方の出力のターゲットとして 1 つのフィルターを追加できます。出力がターゲットとして追加される順序は、入力画像がブレンドまたは処理される順序に影響します。

また、ムービーに録音するためにマイク オーディオ キャプチャを有効にする場合は、次のように、カメラの audioEncodingTarget をムービー ライターに設定する必要があります。

videoCamera.audioEncodingTarget = movieWriter;

Androidで同じことができるライブラリはありますか?

4

0 に答える 0