問題タブ [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.

0 投票する
1 に答える
676 参照

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に変換しようとしましたが、うまくいきました

0 投票する
1 に答える
2045 参照

ffmpeg - xugglerを使用したオーディオのトランスコーディング

ヘッダー付きのオーディオファイルを変換しようとしています

このファイルをmp3形式にトランスコードしたいと思います。次のコードスニペットがありますが、うまく機能していません。オーディオとビデオをトランスコードするためにXUGGLERコードスニペットを使用して記述しました。

オーディオデコーダーは

オーディオエンコーダは

そしてここに私がトランスコードするために32バイトのパケットを送るエンコード方法があります

出力ファイルを取得しましたが、再生されません。オーディオのエンコードとサンプリングの経験はほとんどありません。前もって感謝します。

0 投票する
2 に答える
6760 参照

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 ファイルがわかりません。

  • 彼はどのような依存関係について話しているのですか?
  • 次に、これらの依存関係をダウンロードするにはどうすればよいですか?
  • これらの依存関係を取得したら、Eclipse で作業を開始するにはどうすればよいですか?



  • 依存関係をダウンロードした後の更新

    次のディレクトリ構造があります。
    ここに画像の説明を入力

  • xuggle-xuggler-5.4.jarE:\xuggleに保存されます
  • ここに画像の説明を入力
  • さまざまなものがE:\xuggle\xuggle-dependenciesxuggler dependenciesに格納されています
  • 質問:

  • Eclipse で Xuggler を使い始めるにはどうすればよいですか? どのパスを設定する必要があり、これらのパスにはどのような値がありますか?
  • 0 投票する
    2 に答える
    668 参照

    java - Xuggler がエラー メッセージを生成する

    私は最初の Xuggler メディア アプリケーションの作成に取り組んでいました。最初のメディア アプリケーションの作成方法に関する彼らのビデオを見ながらコーディングしていました。

    コード

    エラー

    依存関係はありますか?

    はい、そうです!私はすべての依存関係を持っています。プロジェクトの作成中にそれらをインポートしました。
    画像:
    ここに画像の説明を入力

    そのエラーの原因と解決方法を教えてください。

    0 投票する
    1 に答える
    3072 参照

    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



    アップデート

    ビデオをキャプチャするための私のコード

    0 投票する
    3 に答える
    777 参照

    java - Xuggler での BigEndian、LittleEndian の混乱

    以前、データを BigEndian に変換する/変換しないという新しい問題が発生byte[]しました。 何が起こっているかは次のとおりです。short[]byte[]

  • TargetDataLineデータをに読み込むために使用していbyte[10000]ます。
  • AudioFormatオブジェクトは任意にtrueBigEndianに設定されています。
  • これは、 Xuggler を使用してエンコードできるようbyte[]に変換する必要があります。short[]
  • AudioFormatBigEndian を true に設定するか false に設定する必要があるかわかりません。
    両方のケースを試しましたが、両方のケースで例外が発生しました。
    に変換するbyte[]short[]は、次のようにします。

    ここで:
    fromMicis TargetDataLine
    tempBufferbyteis is byte[10000]
    tempBufferShortisshort[10000]
    私は例外を取得します:


    必要なその他の情報:

  • Xuggler でオーディオを追加するためのストリームを設定する方法:
  • エンコーディングの実行方法
  • AudioFormat に関する Java ドキュメント

    ...エンコーディングに加えて、オーディオ形式には、データの正確な配置をさらに指定する他のプロパティが含まれます。これらには、チャネル数、サンプル レート、サンプル サイズ、バイト オーダー、フレーム レート、およびフレーム サイズが含まれます...

    16 ビット サンプル (または 1 バイトより大きいその他のサンプル サイズ) の場合、バイト順が重要です。各サンプルのバイトは、「リトル エンディアン」または「ビッグ エンディアン」スタイルで配置されます。

    質問:

  • オブジェクトのBigEndianas trueを維持する必要がありますか?javax.sound.sampled.AudioFormat

  • エラーの原因は何ですか? フォーマットですか?



  • AudioFormat オブジェクトによって事前にフォーマットされた BigEndian データを取得していると思います。

    0 投票する
    1 に答える
    2307 参照

    java - Java から Acoustid (Chromaprint) を取得して mp3/m4a/etc を識別する方法

    Java アプリケーションで acoustid (http://acoustid.org/chromaprint) を使用できた人はいますか? クロマプリント clib へのアクセスは簡単なはずですが、オーディオ ファイルだけを渡すことはできません。生の非圧縮オーディオ データが必要です。

    xuggler を使用して圧縮されていないオーディオを取得しようとしましたが、どこにも到達しませんでした。基本的に、mp3/m4a/etc のようなエンコードされたファイルから生のオーディオを取得する方法がわかりません。

    誰かがこれを機能させることができましたか? コードを共有してくれる人はいますか?

    0 投票する
    1 に答える
    10254 参照

    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が必要です。

    0 投票する
    1 に答える
    375 参照

    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 ファイルの場所です。