Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 自动化视频快照_Java_Javafx 2_Video Capture_Snapshot - Fatal编程技术网

Java 自动化视频快照

Java 自动化视频快照,java,javafx-2,video-capture,snapshot,Java,Javafx 2,Video Capture,Snapshot,如何使用Java自动化视频快照 下面是我的尝试。不幸的是,seek命令似乎不起作用,因为无论视频在哪里,[100100]处的像素颜色都保持不变 我需要的是一个能够创建视频快照的应用程序(最好不需要GUI) 我认为这是不可能的。FX媒体API面向播放而非数据操作,在屏幕上没有实际媒体的情况下,您无法轻松加载图片数据 鉴于您不需要UI,FX没有实际工作,您可能希望通过其他工具解决您的任务,例如ffmpeg,请参见,我认为这是不可能的。FX媒体API面向播放而非数据操作,在屏幕上没有实际媒体的情况下,

如何使用Java自动化视频快照

下面是我的尝试。不幸的是,seek命令似乎不起作用,因为无论视频在哪里,[100100]处的像素颜色都保持不变

我需要的是一个能够创建视频快照的应用程序(最好不需要GUI)


我认为这是不可能的。FX媒体API面向播放而非数据操作,在屏幕上没有实际媒体的情况下,您无法轻松加载图片数据


鉴于您不需要UI,FX没有实际工作,您可能希望通过其他工具解决您的任务,例如
ffmpeg
,请参见,我认为这是不可能的。FX媒体API面向播放而非数据操作,在屏幕上没有实际媒体的情况下,您无法轻松加载图片数据


鉴于您不需要UI,FX没有实际工作,您可能希望通过其他工具(例如,
ffmpeg
)解决您的任务,请参阅,不建议使用JAVAFX执行此任务。更好的解决方案是使用Xugler。本教程介绍了确切的情况:


不建议将JAVAFX用于此任务。更好的解决方案是使用Xugler。本教程介绍了确切的情况:

  • 创建媒体视图:新建媒体视图(mediaplayer)

  • 使用current time属性并添加更改侦听器**:每次更改播放持续时间时,都将调用侦听器

  • 在这个侦听器中,我们将拍摄mediaView的快照。
    示例

        player.currentTimeProperty().addListener(new ChangeListener<Duration>() {
        @Override
        public void changed(ObservableValue<? extends Duration> arg0, Duration arg1, Duration arg2) {
            // TODO Auto-generated method stub
    
            WritableImage write = new WritableImage(media.getWidth(),media.getHeight());
            mview.snapshot(new SnapshotParameters(),write);
            //Now Write is Your current image 
    
        }
    });
    
    player.currentTimeProperty().addListener(新的ChangeListener()){
    @凌驾
    公共无效已更改(可观察值)
    
  • 创建媒体视图:新建媒体视图(mediaplayer)

  • 使用current time属性并添加更改侦听器**:每次更改播放持续时间时,都将调用侦听器

  • 在这个侦听器中,我们将拍摄mediaView的快照。
    示例

        player.currentTimeProperty().addListener(new ChangeListener<Duration>() {
        @Override
        public void changed(ObservableValue<? extends Duration> arg0, Duration arg1, Duration arg2) {
            // TODO Auto-generated method stub
    
            WritableImage write = new WritableImage(media.getWidth(),media.getHeight());
            mview.snapshot(new SnapshotParameters(),write);
            //Now Write is Your current image 
    
        }
    });
    
    player.currentTimeProperty().addListener(新的ChangeListener()){
    @凌驾
    
    public void changed(可观察到)如果我决定允许使用GUI,是否可以以类似的方式拍摄快照?如果我决定允许使用GUI,是否可以以类似的方式拍摄快照?
        player.currentTimeProperty().addListener(new ChangeListener<Duration>() {
        @Override
        public void changed(ObservableValue<? extends Duration> arg0, Duration arg1, Duration arg2) {
            // TODO Auto-generated method stub
    
            WritableImage write = new WritableImage(media.getWidth(),media.getHeight());
            mview.snapshot(new SnapshotParameters(),write);
            //Now Write is Your current image 
    
        }
    });