0

Javaで.tsファイルからBufferedImage(定義された位置のフレーム)を取得するにはどうすればよいですか? 可能であれば、JNI / CLI ラッパーを使用したくありません。

     System.out.println( JCodecUtil.detectFormat( file ) );
        Demuxer demuxer = JCodecUtil.createDemuxer( JCodecUtil.detectFormat( file ), file );
        for ( DemuxerTrack demuxerTrack : demuxer.getVideoTracks() ) {
            Packet packet;
            while ( ( packet = demuxerTrack.nextFrame() ) != null ) {
                System.out.println( "frame " + packet.getDuration() );
            }
        }

最初のスニペットの出力はMPEG_TS [ERROR] . (:0): Format MPEG_TS is not supported MPEG_TS [ERROR] . (:0): Format MPEG_TS is not supported

    for ( DemuxerTrack demuxerTrack : JCodecUtil.createM2TSDemuxer( file, TrackType.VIDEO ).v1.getTracks() ) {
        Packet packet;
        while ( ( packet = demuxerTrack.nextFrame() ) != null ) {
            System.out.println( "frame : " + ImageIO.read( new ByteArrayInputStream( packet.getData().array() ) ) );
        }
    }

このスニペットでは、フレームごとに null を出力するだけです。これを修正する方法は?

4

1 に答える 1