問題タブ [openh264]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 引数をパイプで置き換える
ソケットから h264 データを読み取り、それを h264dec.exe ( openh264 デコーダー) に渡し、YUV データを YUV-RGB デコーダーに渡すコードを書いています。私の問題は、openh264dec が「h264dec video.h264 out.yuv」のように機能することです。
また、コード内で引数を処理してストリームとして提供する方法もよくわかりません。トレーニング目的で試してみましh264dec video.h264 \\.\pipe\h264input
たが、機能しません。コードは次のとおりです。
プロセスは次のとおりです。
YUV デコーダーは、入力ストリーム オブジェクトとして、幅と高さを受け取ります。プログラムがハングアップしWaitForConnection()
、その機能がないとYUV
、ストリームからの読み取り中にデコーダーが例外をスローします。
このように機能させることさえ可能ですか?引数をパイプで置き換えますか?
github - ndk バージョン [] openh264 と互換性がありません
https://github.com/BelledonneCommunications/linphone-androidをインストールし、SDK、NDK などを取得しました。 $ make を実行すると、このエラーが発生します。
誰か助けてくれませんか? (brew を使用して必要なものをすべてインストールし、Mac OSX を使用しています)
android - Openh264 が UnsatisfiedLinkError をスローする
今日、奇妙なクラッシュが発生しました。最初のインストール時に、アプリは openh264 をアプリの内部ディレクトリにダウンロードして解凍します。これは、rxAndroid からの Schedulers.io() スレッドで行われます。これは、この種の最初のクラッシュ (>5k インストール)であり、一致するエラー メッセージを含むこのリンク(非常に興味深いブログ) を見つけました。本当に誰かが openH264 ライブラリを置き換えようとしたのか、それとも x86 デバイスに apk ファイルをインストールしようとしたのかはわかりません。私はまだ openH264 の 1.4 を使用しており、1.5 のリリース ノートを読みました。セキュリティ修正のヒントはありません。
デバイスに関する詳細:
アンドロイド: 4.3
メーカー: サムスン
モデル: GT-I9300
最後に、クラッシュ ログを次に示します。
私はかなり確信しています、クラッシュはここで起こります:
これらは行です:
ダウンロードと解凍が完了すると呼び出されます。
ライブラリのダウンロード中にネットワーク接続が失われたときにエラーが発生する可能性はありますか?
ヘルプやヒントは大歓迎です。事前に感謝します! :)
c++ - openh264 - bEnableFrameSkip=0、ビットレートを制御できません
opencv + H.264 についての質問が多いのですが、詳しい説明はありませんでした。
Visual Studioでopenh264(openh264-1.4.0-win32msvc.dll)とopencv 3.1(ffmpegを有効にしたcmakeのカスタムビルド)を使用しています.H.264圧縮でウェブカメラからのビデオをmp4形式で保存したかったのです
VideoWriter write = VideoWriter("D:/movie.mp4", CV_FOURCC('H', '2', '6', '4'), 10.0, cv::Size(192, 144), true);
openh264 を使用する前に、コンソール ウィンドウに "Failed to load openh264 library : openh264-1.4.0-win32msvc.dll please check your environment and/or download from here: https://github.com/cisco/ " という警告メッセージが表示されました。 openh264/releases " (動画も保存されていませんでした)
そのため、dll をダウンロードし、プログラム ファイル (exe) を含むフォルダーに保存しましたが、プログラムを実行すると、別のエラーが表示されます "[OpenH264] this = 0x0DE312C0, warning: bEnabledFrameSkip=0, bitrate can't be control RC_QUALITY_MODE および RC_TIMESTAMP_MODE でスキップ フレームを有効にしない場合" (現在、ビデオは保存されていますが、サイズが非常に大きくなっています! ビット レートは約 1200 Kbps です)
私にとって、h264 を使用する唯一の目的はファイル サイズを縮小することです。または、コードを介して何らかの方法でビットレートを下げる方法があるかどうか教えてください。
PS: CV_FOURCC() の代わりに -1 を指定してみました。システムに「インストールされたコーデック」ウィンドウが表示されました。ここからさまざまなコーデック パックと h264 をインストールしたにもかかわらず、h264、x264、または h264vfw が見つかりませんでした。
ありがとうございます。それでは、お元気で
c++ - OpenH264 のパフォーマンスとエンコードされたデータのサイズ (SEncParamExt)
OpenH264 C++ ライブラリを使用して、960x540 ビデオで毎秒約 24 フレームを取得しようとしています。SEncParamExt のさまざまなパラメーターを試しましたが、エンコードされたデータが小さくなる代わりにコーデックのパフォーマンスが向上しません。私のコンピュータでは約 16 ~ 20 fps が得られます。
これが私の現在の構成です。
param.iComplexityModeとparam.iRCModeに異なる値を試してみたところ、必要なフレーム レートが得られましたが、画質が非常に悪かったです。また、量子化レベルで遊んでみましたが、役に立ちませんでした。
また、VP8コーデックを使用しています。同じビデオで毎秒 24 フレームを簡単に生成できます。エンコードされたデータのサイズは大きくなります (OpenH264 の場合は毎秒 200Kb に対して約 500Kb です) が、私にとっては非常に便利です。
私は何を間違っていますか?OpenH264 のパフォーマンスを向上させるにはどうすればよいですか?
android - Android 用の Libyuv ライブラリ (PJSIP) のビルドに失敗しました
私はチャットアンドロイドアプリケーションを開発しています。通話機能も使いたい。SIP コール VoIP 用の pjsua2.so ライブラリのビルドに成功しましたが、ビデオ コール用の Libyuv.so ライブラリのビルドに失敗しました。
libyuv building libyuv 1776にリンクするための thhows の指示に従いました。
2 番目のリンクからステップ 2 で ndk-build コマンドを実行した後、この lib libyuv がありません。だから私も持っていません [libyuv_dir]/libs/armeabi
また、openH264の場合、このコマンド/configure-android --with-openh264=/home/ubuntu/openh264-1.0.0/android
を実行した後、次のようになりました:
OpenH264プレフィックスを使用しています... /home/ubuntu/PJSIPTOOLS/openh264-1.0.0/openlib/ OpenH264の使いやすさをチェックしています...いいえ
誰か助けてくれませんか(英語が下手でごめんなさい)
android - Android の OpenH264 の例
ビデオを録画してH264ビデオにエンコードする方法の良い例を探しています。
ウェブを見ると、私が見つけたすべての情報は、オープンソースのコンパイルに関連しており、Android カメラからどのように使用できるかではありません。
encoding - Exp-Golomb CodeWord の構築と解析の方法
私は OpenH264 コーデックを使用しています。OpenH264 は、ヘッダー関連情報に Exp-Golomb Coding を使用しています。いくつかの Web サイトを調べて、Exp-Golomb コーディングに関する情報を少し集めました。OpenH264 では、4 種類の Exp-Golomb コーディング方式が使用されます。彼らです:
- 上[数値が非負数のみの場合]
- Te [値が 1 または 0 のみの場合]
- Se [値が負と正の両方の数量の場合]
- Me [値に対して標準コード マップが定義されている場合]
メソッドUeで構築または解析する方法を学びました。
Exp-Golomb(Ue) = [M-Zeros][1][INFO] の構文形式。
構築: Code_Num = 226 があるとし
ます
。M = floor(log2(Code_Num)) = floor(log2(226)) = 7
INFO = Code_Num + 1 - pow(2,M) = 226 + 1 - 128 = 99 = (1100011) in Binary
So,
CodeWord = 0000000 1 1100011 [M-zeros, 1 ignoring bit, INFO]
解析:
CodeWord = 000000011100011 があると仮定
Code_Num = pow(2,M) + INFO - 1 = 128 + 99 - 1 = 226
これで、Exp-Golomb(Ue) を計算できます。しかし、Se、Te、Me に関連するすべての理論を学びたいと思っています。しかし、他の方法のリソースを見つけることができません。私を助けてください。
openh264 - openh264 のエラー隠蔽方法を選択するには?
これらのエラー隠蔽列挙型は openh264 にとって何を意味しますか? それらに関するドキュメントはありますか?