CS-FreeStyle / 10000-How-To-Do-in-CS

1 stars 0 forks source link

ffmpeg java interface #123

Open liuty10 opened 3 years ago

liuty10 commented 3 years ago

https://www.codota.com/code/java/methods/org.bytedeco.javacv.FFmpegFrameGrabber/start

https://github.com/bytedeco/javacv/blob/master/src/main/java/org/bytedeco/javacv/FFmpegFrameGrabber.java

liuty10 commented 3 years ago

java class path: https://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/classpath.html#Understanding

liuty10 commented 3 years ago

FFmpegFrameGrabber https://stackoverflow.com/questions/46770426/java-ffmpeg-decoding-avpacket-result-of-avcodec-decode-video2-negative https://stackoverflow.com/questions/2165593/how-to-decode-h-264-video-frame-in-java-environment https://www.programcreek.com/java-api-examples/?api=org.bytedeco.javacv.FFmpegFrameGrabber https://www.codota.com/code/java/classes/org.bytedeco.javacv.FFmpegFrameGrabber

public void run() throws Exception, InterruptedException {
        FFmpegFrameGrabber ffmpegFrameGrabber = FFmpegFrameGrabber.createDefault("C:/Users/Administrator/Desktop/deta/detasource/videoProcess/webwxgetvideo.avi");
        ffmpegFrameGrabber.start();
//      int fflength = ffmpegFrameGrabber.getLengthInFrames();
//      int maxStamp = (int) (ffmpegFrameGrabber.getLengthInTime()/1000000);
//      int count = 0;
        while (true) {
            Frame nowFrame = ffmpegFrameGrabber.grabImage();
//          int startStamp = (int) (ffmpegFrameGrabber.getTimestamp() * 1.0/1000000);
//          double present = (startStamp * 1.0 / maxStamp) * 100;
            if (nowFrame == null) {
                System.out.println("!!! Failed cvQueryFrame");
                continue;
            }
            Java2DFrameConverter paintConverter = new Java2DFrameConverter();
            BufferedImage difImage = paintConverter.getBufferedImage(nowFrame, 1);
            paint(difImage);
            Thread.sleep(25);
        }
    }
liuty10 commented 3 years ago

java decode h264: https://stackoverflow.com/questions/22497540/javacv-decoding-h-264-live-stream-coming-from-red5-server-on-android-device https://www.coder.work/article/6107052

liuty10 commented 3 years ago

https://stackoverflow.com/questions/59185079/ffmpeg-javacv-latency-issue

liuty10 commented 3 years ago

Decoding h264 (mkv) video with java https://www.vzhilin.me/2019/11/21/java-demux-decode-h264.html https://github.com/vzhn/ffmpeg-java-samples/blob/master/src/main/java/DemuxAndDecodeH264.java

liuty10 commented 3 years ago

bstreamer: https://github.com/vzhn/bstreamer/tree/master/src/main/java/me/vzhilin/bstreamer/client