問題タブ [vorbis]
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.
audio - すべてのファイルをメモリにロードせずに ogg vorbis ファイルをシークする方法は?
すべてのファイルをメモリにロードせずに、トラック内の必要な位置に移動する方法を見つけようとしています。ファイルはリモートサーバーに保存されるため、を使用しません。vorbisfile
ドキュメントのシークに関する段落を読みましたが、理解できませんでした。
windows - Mingw を使用してソースから libvorbis をビルドする: 「vorbis をコンパイルするには automake がインストールされている必要があります」
gnu/linux で作成したプロジェクトを Windows に移植しようとしています。このプロジェクトは、vorbis ライブラリを使用して「.ogg」ファイルをデコードします。
Windows用のビルド済みバイナリが見つからなかったため、ソースからプロジェクトをビルドする必要があります。Linux では、「libvorbis-dev」パッケージをインストールしました。
README には、ライブラリをビルドするには、./autogen.sh
次に入力する必要があると書かれています。make
./autogen.sh
msys ターミナルに入力すると、次の出力が得られます。
このhttp://gnuwin32.sourceforge.net/packages/automake.htmをインストールしようとしましたが、それでも同じエラーが発生します。
このライブラリを機能させ、Windows でリンクできるようにするための助けをいただければ幸いです。
c++ - Ogg vorbis 読み取りコールバック -- C++ での構文の違い
Ogg Vorbis コールバック、特に read_func コールバックが機能しないという問題がありましたが、他のすべては機能しているように見えました。私はこれを(私の意見では無意味な)変更を加えたところ、突然機能し始めました。ここで正確な違いを見るのに苦労しているので、誰かが正確な理由を知っていますか. 関数ポインタへの明示的なキャストが必要なようですか?
BEFORE (試行しても、Ogg は有効なヘッダー データの読み込みに失敗します):
後(期待どおりに完全に機能します):
編集: 詳細情報
問題を修正したときに構造の初期化が変更されたのは、括弧内の内容を使用して構築されたためです。私は C++ について十分な知識があると思っていましたが、これらの奇妙な点に出くわしたときは、それを理解しようとする必要があると判断しました。私のコードは C++ で書かれており、Vorbis ライブラリはプレーンな C で書かれていることに注意してください。また、これらの関数ポインタに C プロトタイプ宣言スタイルを使用するように強制することにしましたが、それでも問題は解決しませんでした。構造は次のように初期化されました (古い方法では機能しません)。
以下は、ogg_read_func の関数定義です。
プロトタイプは次のとおりです。
ogg_read_func は、私が問題をデバッグしていたときに fread する単なるラッパーでした。それにもかかわらず、構造の初期化を変更してキャストを実行する前に返されたエラーは常に「Not ogg vorbis」、またはコード用語では次の値でした:
#定義 OV_ENOTVORBIS -132
heroku - ffmpeg を使用して mp4 オーディオを webm に変換する - webm に適した出力が見つからない
ffmpeg、libvorbis などをインストールするカスタムの heroku ビルドパックがあります。
実行するffmpeg
と、次の出力が得られます。
mp4 オーディオを webm オーディオに変換しようとしています。
これが私が使用しているコマンドです:
そして出力:
これは私の OSX インストールでは問題なく動作しますが、Ubuntu 14.04 ではこれらのエラーが発生します。
.webm ファイルを宛先にするにはどうすればよいですか?
audio - ogg vorbisファイルをロスレス連結するには?
複数の ogg vorbis ファイルを 1 つに連結しようとしています。
理論的には、次のことを行うだけで十分であることを知っています。
しかし、これには欠点があります。
- すべてのプレーヤーがこのように作成されたファイルをサポートしているわけではありません (gstreamer はサポートしていません)。
- そうするプレーヤーは、それらをスムーズに連結せず、醜い一瞬の一時停止を作成します
- シークはできないようです
品質を落としたくないので、flac のようなロスレス形式に再エンコードすることもできますが、それではファイル サイズが爆発的に大きくなります。
これを行うツールはないようです。たとえば、oggCat はオーディオを再エンコードするため、品質がわずかに低下し、ffmpeg concat demuxerはすべての入力ファイルに対して機能しません。ツールを見つけるためにこのスーパーユーザーの質問を開きましたが、何もないと思ったときに自分で書きました。
そこで、libogg と libvorbis を使用して、入力ファイルの ogg パケットを出力ファイルの ogg ページに手動で連結しようとしました。仮定は、すべての ogg 入力ファイルがまったく同じパラメーターを使用してエンコードされたことです。
次のコードを思いつきました:
これはほぼ機能しますが、vorbis ストリームが結合されるポイントでかろうじて聞こえるクリック音が挿入されます。
これを正しく行う方法は?
それはまったくできますか?