問題タブ [xuggler]
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.
java - 特定の FLV ファイルを読み取る Xuggler
ストリーム 0: ビデオ、H264 avc1
ストリーム 1: オーディオ、AAC、mp4a の 2 つのストリームを持つ Xuggler ライブラリを使用して、Java で FLV ファイルをトランスコードしようとしています。
これでgetNumStreams()
、入力コンテナーの呼び出しは正しい 2 つのストリームを返します。
両方のストリームに/AUDIO CODEC_TYPE_UNKNOWN
ではなくタイプがあるため、問題が発生します。CODEC_TYPE_VIDEO
したがって、私のコードは次のとおり
stream.getStreamCoder().getCodecType().equals(ICodec.Type.CODEC_TYPE_AUDIO)
です。特定のストリームと実際に一致することはありません。
ストリームをストリーム 2 に手動で割り当てようとしましたが、正常に終了しましたがIStreamCoder
、 からコーデックを照会すると null になります。CodecID
同じのIStreamCoder
が正しいCODEC_ID_AAC
で、コーデックの種類はCODEC_TYPE_UNKNOWN
前述のとおりです。
私の質問は、これらのストリームが正しいオーディオ/ビデオではなく、不明としてマークされているのはなぜですか? このコードは、mp4 コンテナーなどの他のほとんどの形式で問題なく動作します。私の全体的な目標は、トランスコーディング用のオーディオ ストリームを抽出することです。
何かを作成するために必要なもののかなりの部分を切り取る必要があるため、この質問によりよく答えるためにサンプルコードセグメントが必要な場合はアドバイスしてください。
編集:VLCを使用して問題のFLVを変換しようとしたため、これはXugglerの問題ではないと思いますが、変換時にVLCがクラッシュしますが、既知の動作するmp4ファイルをmp3に変換しようとしましたが、うまくいきました
ffmpeg - xugglerを使用したオーディオのトランスコーディング
ヘッダー付きのオーディオファイルを変換しようとしています
このファイルをmp3形式にトランスコードしたいと思います。次のコードスニペットがありますが、うまく機能していません。オーディオとビデオをトランスコードするためにXUGGLERコードスニペットを使用して記述しました。
オーディオデコーダーは
オーディオエンコーダは
そしてここに私がトランスコードするために32バイトのパケットを送るエンコード方法があります
出力ファイルを取得しましたが、再生されません。オーディオのエンコードとサンプリングの経験はほとんどありません。前もって感謝します。
eclipse - Xuggler のセットアップに関する初心者向けガイド
Xuggler を使用するには、 が必要xuggle-xuggler-5.4.jar
です。これを作成した人によると、ほとんどのユーザーは上記の JAR ファイルのみを必要とします。ただし、 Maven や Ivy なしでXuggler を使用することについて、彼らは次のように述べています。
Apache Maven または Apache Ivy なしで Xuggler を使用する
あなたは… 2003年に立ち往生していますか?とにかく、もしあなたがこれを主張するなら、Xuggler のプリコンパイル済みバイナリ (ネイティブ バージョンを含む) はここにあります。xuggle-xuggler.jar とその依存関係が Java クラスパスに含まれていることを確認してください。依存する jar の (小さい) セットを見つけるために使用するバージョンの Xuggler と共に配布される xuggle-xugger-*.pomファイルを参照し、それらもダウンロードします。
最新バージョン 5.4のファイルをダウンロードしましたxuggle-xuggler.jar
が、その pom ファイルがわかりません。
依存関係をダウンロードした後の更新
次のディレクトリ構造があります。
xuggle-xuggler-5.4.jar
E:\xuggleに保存されます 
xuggler dependencies
に格納されています 質問:
java - Xuggler がエラー メッセージを生成する
私は最初の Xuggler メディア アプリケーションの作成に取り組んでいました。最初のメディア アプリケーションの作成方法に関する彼らのビデオを見ながらコーディングしていました。
コード
エラー
依存関係はありますか?
はい、そうです!私はすべての依存関係を持っています。プロジェクトの作成中にそれらをインポートしました。
画像:
そのエラーの原因と解決方法を教えてください。
java - 画面のビデオでオーディオを録音するための TargetDataLine と Xuggler
TargetDataLine
これまでのところ、Java でマイク入力をキャプチャする最も簡単な方法です。ユーザーがチュートリアル、スライドケースなどを作成できるように、[スクリーンレコーダーソフトウェアで]画面のビデオでキャプチャしたオーディオをエンコードしたいです。ビデオのエンコード
に使用Xuggler
します。ビデオでオーディオをエンコードするチュートリアルがあり
ますが、ファイルからオーディオを取得します。私の場合、オーディオはライブです。
私が使用するビデオをエンコードするには
com.xuggle.mediaTool.IMediaWriter
. IMediaWriter オブジェクトを使用すると、ビデオ ストリームを追加できます。encodeAudio(int streamIndex, short[] samples, long timeStamp, TimeUnit timeUnit)
ターゲット データ行からサンプルを として取得できれば、それを使用できます
short[]
。戻るbyte[]
したがって、2つの質問は次のとおりです。
ビデオでライブオーディオをエンコードするにはどうすればよいですか?
適切なタイミングでエンコードされるように、オーディオ パケットの適切なタイミングを維持するにはどうすればよいですか?
参照:
1. TargetDataLine の DavaDoc: http://docs.oracle.com/javase/1.4.2/docs/api/javax/sound/sampled/TargetDataLine.html
2. Xuggler ドキュメント: http://build.xuggle。 com/view/Stable/job/xuggler_jdk5_stable/javadoc/java/api/index.html
アップデート
ビデオをキャプチャするための私のコード
java - Xuggler での BigEndian、LittleEndian の混乱
以前、データを BigEndian に変換する/変換しないという新しい問題が発生byte[]
しました。
何が起こっているかは次のとおりです。short[]
byte[]
TargetDataLine
データをに読み込むために使用していbyte[10000]
ます。AudioFormat
オブジェクトは任意にtrueBigEndian
に設定されています。byte[]
に変換する必要があります。short[]
AudioFormat
BigEndian を true に設定するか false に設定する必要があるかわかりません。
両方のケースを試しましたが、両方のケースで例外が発生しました。
に変換するbyte[]
にshort[]
は、次のようにします。
ここで:
fromMic
is TargetDataLine
tempBufferbyte
is is byte[10000]
tempBufferShort
isshort[10000]
私は例外を取得します:
必要なその他の情報:
AudioFormat に関する Java ドキュメント
...エンコーディングに加えて、オーディオ形式には、データの正確な配置をさらに指定する他のプロパティが含まれます。これらには、チャネル数、サンプル レート、サンプル サイズ、バイト オーダー、フレーム レート、およびフレーム サイズが含まれます...
と
16 ビット サンプル (または 1 バイトより大きいその他のサンプル サイズ) の場合、バイト順が重要です。各サンプルのバイトは、「リトル エンディアン」または「ビッグ エンディアン」スタイルで配置されます。
質問:
BigEndian
as trueを維持する必要がありますか?javax.sound.sampled.AudioFormat
AudioFormat オブジェクトによって事前にフォーマットされた BigEndian データを取得していると思います。
java - Java から Acoustid (Chromaprint) を取得して mp3/m4a/etc を識別する方法
Java アプリケーションで acoustid (http://acoustid.org/chromaprint) を使用できた人はいますか? クロマプリント clib へのアクセスは簡単なはずですが、オーディオ ファイルだけを渡すことはできません。生の非圧縮オーディオ データが必要です。
xuggler を使用して圧縮されていないオーディオを取得しようとしましたが、どこにも到達しませんでした。基本的に、mp3/m4a/etc のようなエンコードされたファイルから生のオーディオを取得する方法がわかりません。
誰かがこれを機能させることができましたか? コードを共有してくれる人はいますか?
java - xugglerをダウンロードしてインストールするにはどうすればよいですか?
xugglerのダウンロード方法について少し混乱しています。次のリンクにアクセスして、ダウンロードしました。
http://xuggle.googlecode.com/svn/trunk/repo/share/java/xuggle/xuggle-xuggler/5.4/
xuggle-xuggler-5.4.jarをダウンロードしましたが、ここからどこに行くのか少し混乱しています。
xugglerをダウンロードする目的は、このチュートリアルに従うことができるようにすることです: http ://www.youtube.com/watch?v=wdW6tUql154
チュートリアルに従うには、次のファイルxuggle / share / java/jarが必要です。
java - Xuggler NoClassDefFoundError
次のチュートリアルを使用して、単純なメディア プレーヤーを作成しようとしています: http://www.youtube.com/watch?v=9aJvPPzhyik
まず、私がこれまでに行ったことを説明します。Apache Maven や Apache Ivy を使用せずに xuggler をダウンロードし、バージョン 5.1 にして xuggle-xuggler-5.4.jar のみをダウンロードし、これを にインポートしました。コードを書き始め、すべてのメディア クラスにエラーがなかったため、Eclipse が機能しました。
FLV ファイルが必要だったので、ランダムな YouTube リンクをこの Web サイトhttp://keepvid.com/?url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DvNoKguSdy4Yに挿入して、FLV ビデオを取得しました。デスクトップにダウンロードしましたが、ここに問題があると思います。チュートリアルでは、この flv ビデオを Xuggle/Workspace/MediaToolsIntro1 に配置する必要があることを示していますが、jar ファイルを 1 つダウンロードしただけなので、xuggle フォルダーはありません。デスクトップに jar ファイルがあるので、Users/Me/Workspace/Myjavaproject に配置しました。コードを実行したところ、次のエラーが発生しました。
スレッド「メイン」の例外 java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
ガイドビデオのプログラマーがそれを行うと、彼は自分の flv の隣に作成された QT ファイルを取得しますが、エラーが発生します。私と彼の唯一の違いは、flv ファイルの場所です。