javacv-ffmpeg(6)パフォーマンスの向上

説明

私のパフォーマンスの改善のほとんどは、ビジネスまたはロジックのパフォーマンスを改善するためのトリックです。
FFmpegFrameGrabberに同期コードブロックがあり、それを削除した後の結果を試していません。主に怠惰です。
誰かが試みたら、結果を返してください、ありがとう。

1.ライブスクリーンショット

コードブロックの同期の問題があるため、スレッドプールスレッドは多すぎないようにする必要があります。
ストリーム情報を受信して​​スクリーンショットを撮っている場合は、解像度にもよりますが、多くのリソースを消費し、16〜50チャネルをサポートする8コアCPUが適しています。

解決策:要件が1秒あたりの画像(これは構成および管理可能)
とタスクキューであるかどうかを確認し、
URL接続後に最初のキーフレームを取得し
、画像を保存して閉じ
、次の実行時間を更新して、
再度追加しますキューへのタスク。

2コアCPUは約200〜250の道路をサポートします

2、ビデオ録画

ビデオ録画はそれほど難しいことではありませんが
、ビデオ録画の主なリソース消費は、録画中のデコードとエンコードです。

解決策:デフォルトなしで
recordPacketメソッドを使用するか、コーデックを設定します

AVPacket pkt = null;
while (isStart) {
    
    
	pkt = grabber.grabPacket();
	recorder.recordPacket(pkt);
	org.bytedeco.ffmpeg.global.avcodec.av_packet_unref(pkt);
}

おすすめ

転載: blog.csdn.net/u013947963/article/details/103426088
おすすめ