6

FFMPEG とそのための Java バインディングとラッパーがありますが、特定のプラットフォームごとに FFMPEG の適切なバイナリ ファイルを配布する必要があります。

ビデオファイルを画像シーケンスに変換するためのFFMPEGのような依存関係のないプレーンなJavaソリューションまたはライブラリはありませんか?

FFMPEG、XUGGLER、JMF (放棄) などのソリューションは適していません。これに対する純粋なJavaソリューションは本当にありませんか?

少なくとも特定のビデオコーデック/ファイルについては?

ビデオファイルから画像をjpeg / pngファイルに抽出してディスクに保存したいだけです

4

3 に答える 3

3

次のコーデックのピュア Java 実装があります。H.264 ( AVC )、MPEG 1/2、Apple ProRes、JPEG。および次のファイル形式: MP4 (ISO BMF、QuickTime)、Matroska、MPEG PS、および MPEG TS。
ライブラリは JCodec ( http://www.jcodec.org ) と呼ばれます。
今のところドキュメントはほとんどありませんが、開発チームは常にこれに取り組んでいます。
MP4 ファイルからフレームを簡単に取得する方法は次のとおりです (Web サイトのサンプル)。

int frameNumber = 150;
BufferedImage frame = FrameGrab.getFrame(new File("filename.mp4"), frameNumber);
ImageIO.write(frame, "png", new File("frame_150.png"));

JCodec をプロジェクトに追加するには、以下を pom.xml に追加するだけです。

<dependency>
    <groupId>org.jcodec</groupId>
    <artifactId>jcodec</artifactId>
    <version>0.1.3</version>
</dependency>

最新バージョンについては、こちらを参照してください

于 2013-05-13T03:12:00.993 に答える
3

[ビデオ ストリームから画像を抽出する] ための純粋な Java ソリューションは本当にないのでしょうか?

どれどれ。必ず:

  • ビデオをデコードします。
  • デコードされた画像を少なくとも 24 画像/秒の速さで表示します。このステップをスキップできると思います。
  • デコードされた画像を保存します。

ビデオのデコードは、最も困難なステップになると思われます。人々や企業は、さまざまなビデオ形式のコーデック (エンコーダー/デコーダー) の開発に何年も費やしてきました。

ffmpeg の JMF ラッパーである SourceForge には、いくつかの純粋な Java ビデオ コーデックを開発したプロジェクトがあります。おそらく、彼らのソース コードを見て、自分で Java ビデオ コーデックを開発する方法を確認してください。

必要に応じて、他の純粋な Java ビデオ コーデックを探すことができます。

于 2012-12-27T15:44:50.937 に答える