問題タブ [xuggle]
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 - xuggler を使用した一連の画像からのビデオ作成
私はどこでも解決策を探していました!このウェブサイトおよび他のウェブサイトで。私はいくつかの興味深いものを見つけましたが、それらは私の問題を解決しませんでした. 説明します。
ビデオが 1 つあり、その各フレームを xuggler でグレーディングしています。すべてのフレームを取得したら、それらすべてをカラー アルゴリズムで編集します。また、オーディオを mp3 ファイルに保存します。
ここで、すべてのフレームからビデオを作成する必要があります。もちろん、このビデオは、フレームレートと持続時間と同じ特性を持つ必要があります。その後、オーディオをマージする必要があります。
前編はやったのですが、同じ特徴の動画の作り方がわかりません。私はこのコードに従っています:
http://www.javacodegeeks.com/2011/02/xuggler-tutorial-frames-capture-video.html
しかし、スナップショットを取得し、奇妙なループを使用します。
正しい特性を設定する方法がわかりません。私はビデオについてすべてを知っているので、それは簡単なはずです! サイズ、フレームレート、フレーム数。
私のコード:
誰か助けてくれませんか?
java - Xuggleビルドがubuntux64で失敗しましたか?
GITハブからソースコードをダウンロードした後、 XuggleYouTubeVideoが言ったように環境変数を設定しました
それから私は単にコマンドでアリのテストを開始しました
これにより、最後にエラーのある次の出力が得られました。
java - Java は、ライブ画面共有を行うのに十分高速ですか?
過去数か月間、開発者と私は、Wowza や Red5 などのメディア サーバーにストリーミングする画面共有アプレットに取り組んできましたが、何をしても約 5 秒の遅延があり、ライブには長すぎます。人々が互いに対話しているアプリケーション。xuggle、さまざまなエンコーダー、さまざまなプレーヤー、さまざまなネットワーク、さまざまなメディア サーバー、さらにはローカル ストリーミングを試してみましたが、かなりの遅延が発生しました。
それで、私は疑問に思い始めています…</p>
Java は、ライブ画面共有を行うのに十分高速ですか?
Java で書かれたスクリーン レコーディング アプレットをたくさん見てきましたが、どれもライブ ストリーミングしていません。GoToMeeting など、ライブで行われるものはすべて C++ を使用しているようです。何か理由があるのではないかと考えています。
圧縮の問題ではありません。ScreenVideo を使用して、1 時間のストリームを約 100 MB に圧縮し、十分な帯域幅を確保しました。圧縮を行ってもプロセッサが過負荷になることはありませんが、時間がかかりすぎているようです。BigBlueButton から引き出されたいくつかのコードから最良の結果が得られていますが、それでもレイテンシーはひどいものです。
一方、WebCam のストリーミングは素晴らしく、きびきびしています。レイテンシーはほとんどありません。したがって、問題はアプレットです。
私が考えることができる他の唯一のアイデアは、どういうわけか Java で WebCam をエミュレートすることです。それがより速いかどうかはわかりません。
アイデア?それとも、Java をあきらめて C++ でこれを行うべきですか? プラットフォームごとに異なるバージョンを作成する必要があるため、私はそれをしたくありませんが、それが唯一の方法である場合は、それが唯一の方法です。
java - Xugglerはどのコーデックをサポートしていますか?
はい、FAQがこれに答えるふりをしていることは知っていますが、実際にはそうではありません。代わりに、ソースからプロジェクトをビルドするように指示します(ビルドの指示は非常に複雑です)。そのようなものは全体のポイントを打ち負かします:)
それが実際に彼らの問題を解決するかどうかを知るために、さらに別のオープンソースプロジェクトを構築しなければならないという煩わしさを世界中の誰もが救おう。Xugglerはどのコーデックをサポートしていますか?
java - xuggler ライブラリを使用して実行可能ファイル Java を作成する方法
プロジェクトをEclipseでエクスポートして、実行可能なjarファイルを作成しました。
私のラップトップでは動作しますが、別のラップトップでは動作しません。xuggler
がインストールされていないためだと思います。私のソフトウェアを他のラップトップで動作させる方法はありますか? たぶん、実行ファイルを別の方法で作成する必要があります。お時間とご提案をいただきありがとうございます。
c - Msys/MinGw で fread() が機能しない (バイトをスキップする) のはなぜですか?
Windows で Xuggler をビルドしようとしています。Xuggler は、サウンド処理の目的で Java にラップされたコア ネイティブ コード関数です (ffmpeg を含む)。
私の Windows は x64 Win 7 prof ですが、使用するライブラリはすべて 32 ビットです。次のinfスクリプトを使用して、Msysシェルの下からMinGW / MSysの下でビルド手順を実行しています。
Ant ターゲットには最後にいくつかのテストが含まれており、エラーが発生します。エラーは次のとおりです
更新 1
テストコードは次のとおりです。
コードは次のurl_read
とおりです。
どのような状況で1042を返すことができるのかわかりません??? どういうわけかここで64ビットが再生されるのでしょうか?
更新 2
使用したファイル名を印刷したところ、
パスは正しいが、で始まってd:/
いない/d/
これは Msys の下で役割を果たすことができますか?
更新 3
readen バイトをテスト ファイルの実際の内容と比較したところ、何らかの理由で fread() が一部のバイトをスキップすることがわかりました。どのバイトかはまだわかりません。おそらくこれらは CR/LF です
更新 4
CR/LFとは関係ありません。
元のバイトは
読み取りバイトは
これがFLVファイルの始まりです。私は腐敗の原理を理解していません。
どのよう01 05 00 00
に変換できます15
か???
更新 5
次のようにファイルを開く
url_open() 関数は次のとおりです。
java - RTSP サーバーを構築するには、vlcj と xuggler のどちらを使用すればよいですか?
Java を使用して RTSP ストリーミング サーバーを開発する計画があります。ここで、メディアをデコードし、データを rtp 形式でストリーミングするために使用するライブラリを決定する必要があります。ビデオのデコードとストリーミング用に vlcj と xuggler を検討しています。これらのライブラリの違いについて調査しましたが、まだ決定できません。そこで、次の機能を提供するサーバーを構築したいかどうか皆さんに尋ねたいと思います。どっちがいいと思いますか?1. ビデオをオンデマンドで複数のユーザーにストリーミングできます 2. ストリームを mms 形式で受信し、それを rtsp 形式に再ストリーミングできます
最初は、ffmpeg と ffserver を試してみましたが、オーディオが同期していない問題があるため、独自のサーバーを作成することにしました。vlcj を使用する良い方法はアウト プロセスを使用することですが、ビデオ オン デマンドでのパフォーマンスが心配です。xuggler について考えていますが、ffmpeg と同じ問題が発生するのではないかと心配しています。
この状況でどちらが適切か、あなたの意見を聞かせていただけますか?
java - XugglerのIPacketはFLVタグまたはタグパーツとどのように対応していますか?
FLVフォーマットの仕様はこちらです:http ://www.adobe.com/content/dam/Adobe/en/devnet/flv/pdfs/video_file_format_spec_v10.pdf
1)FLV本体はタグで構成されています
2)各タグはヘッダーとデータで構成されます
3)データはAUDIODATA
またはVIDEODATA
4)AUDIODATA
記述子バイトとオーディオフレームで構成されます。
私の質問はIPacket
、XugglerでFLVを読むときは何が入っているのかということです。
現在、コードからオーディオフレームを抽出AUDIODATA
しています。私は最初のバイトを分析し、フォーマットを推定し、他のデータを切り取り、それをラップして、推定フォーマットで設定されたデコーダーにIPacket
送信します。IStreamCoder
しかし、私はこれをXugglerに任せることができるでしょうか?FLV形式を作成IContainer
してそこからパケットをピークできるのでしょうか?
に渡すInputStream
としIContainer
ます。このストリームにはFLV本体だけを含めることができますか?オーディオパケットを正しく抽出しますか?
video-processing - HTTPライブストリーミングにH264を使用してエンコードしようとしています
HTTPライブストリーミングに使用するメディアファイルをエンコードしようとしていますが、今のところあまり運がありません。ICodec.ID.CODEC_ID_MPEG2TSまたはICodec.ID.CODEC_ID_MPEG4コードを使用すると、ストリームがエンコードされますが、Appleの検証ツールを使用するとエラーが発生します。
エラー:(-12971)MPEG2パーサーの破損したストリーム(プログラム1、トラック257)エラー:(-12971)セグメントをMPEG-2TSまたはESとして解析できませんでした
それらを.tsではなく.mp4として保存すると、Quicktimeで再生されます(ただし、.tsとしては再生されません)。
ICodec.ID.CODEC_ID_H264を使用すると、エンコード時に次のエラーが発生します。
java.lang.RuntimeException:ストリームcom.xuggle.xuggler.IStream @ -397916640 [index:0; id:1; streamcoder:com.xuggle.xuggler.IStreamCoder @ -397916528 [codec=com.xuggle.xugglerを開くことができませんでした。 ICodec @ -397916032 [type = CODEC_TYPE_VIDEO; id = CODEC_ID_H264; name = libx264;]; time base = 1/25; frame rate =0/0; pixel type = YUV420P; width = 640; height = 360;]; framerate: 0/0; timebase:1/90000; direction:OUTBOUND;]:操作は許可されていません
エンコーダーには次の設定があります。
私は何か間違ったことをしたのだろうかと思っています。ビデオエンコーディングの多くを知らないので、H264にエンコードしようとしたときに簡単なオプションを忘れた可能性があります。
java - 動画のサムネイル xuggle
ビデオの途中からサムネイルを取得したかったので、次を使用してこれを達成しました。
しかし、私のソリューションは非常に遅く、実際にはビデオでループします。これは、より大きなファイルに対するスマートなソリューションではありません。
IContainer.seekKeyFrame は私の問題に役立ちます。この目的で seekKeyFrame を使用する方法を誰かが説明できますか?