-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Capture moving plot to Video file #4387
Comments
@IanMayo Rather than use the record button in the time controller, I would move both export options (ppt and video) to the existing Export menu under File. This would allow you to have a Wizard with a few steps to enter the required parameters. There would be no need for the user to press "record", wait for the animation to run and then "stop" at the exact right time. The Wizard could let them choose between exporting the entire duration, only the duration selected in the time controller (and possibly a 3rd option with free input time stamp for start and end). |
@clenoble - I think the user needs more involvement in the export. The user will control:
Some of these we could infer, such as the area of coverage (use the currently visible area) or the time of coverage (from the time slider bars). But, the other are sensitive to the data that's being looked at - which influences how the message is conveyed. (I recognise that it's quite common to load a video and export it to a different video, but that just involves some resampling and/or storing to a different type. But, this export seems more involved). |
@IanMayo Most items can be selected from a wizard, but the important point you make is that a user might want to interact with the views while recording (showing / hiding elements, zooming in / out). In this case, the record button is required. I would even add a pause / resume button, rather than just stop. For the UI, I suggest using controls similar to screen-o-matic https://screencast-o-matic.com. See screenshot below: This would allow the user to switch from one XY plot to another during the video, but not record the time controller and outline if they think it's not useful. |
Thanks @clenoble . (I hope we can avoid re-writing screencast-o-matic) You have raised something I hadn't considered. My original idea was to let the user select between recording just the plot [1], or recording the whole application [2]. Option [2] would allow one or more graphs to be included, or maybe the Narrative Viewer if the "diary" of what happened was relevant. Other views (such as the Outline & Tote) would be collapsed. But, in order to "drive" the recording, the analyst needs the Time Controller to be open. It's unlikely they would want the whole of the left-hand column. But, the time-controller could be dragged down, to occupy the left-hand "end" of the graph: Aah, that's still sub-optimal sine there's the wasted space for the toolbar & menu. Hmm, ideally we'd avoid the step to drag to select the target area. Aah, hold on. We know the dimensions of the menu, toolbar, status bar. We could calculate the viewport required that would exclude them. Hmm (2). But, the user may want the status bar included, if the current mouse position is important. |
@IanMayo I don't think dragging to select the area is such a hurdle for the user, on the contrary, it's much more intuitive and flexible than selecting specific views in a wizard, or re-organizing the entire UI. It might be more complex from a technical point of view. Another idea would be to add two icons in the toolbar, one for PPT, one for video. Clicking on either of them would enable the "Start record" button (otherwise disabled), and open a setting panel. For PPT, the user can set the template. For video, they can set the views, re-draw frequency and time to step forward. For the visibility of tracks, I think it would be best if tracks visible on screen will be visible on the video. The user can hide tracks in the outline panel if they want to hide them in the video. Otherwise the user will be more likely to make errors if what he sees on screen doesn't match what's recorded. They will manage the start and end of recording using the start record / stop record button. |
We've suspended this task, I think we were struggling with xuggler. If/when we restart it, we should consider one of the ffmpeg java wrapper libraries - since ffmpeg is still actively maintained. |
An alternate strategy could be to use a Python record-to-video utility, as created by Ed.
|
An alternative route to this could be to use an existing application. We may be able to modify this Open Source application to include features we would need to integrate it into Debrief: |
Here's a tutorial on how to use JCodec to make a screen recorder: Sources for above here: https://github.com/enyason/DesktopScreenRecorder Here is an Eclipse plugin that claims to provide screen recording: |
An analyst is struggling to get high quality video recordings of Debrief. His IT support organisation can only supply
VLC
, and it's proving a real challenge to get tidy video out of that. It's only works intermittently, and then only with full screen capture.The work-flow would be streamlined if this was possible:
Hopefully we can integrate it into the new
Record
button in the Debrief time controller.Here's a possible library:
http://www.randelshofer.ch/monte/
and a demo of using it here:
https://unmesh.me/2012/01/13/recording-screencast-of-selenium-tests-in-java/
Alternatively, it may be possible to use Xuggler to capture the video:
https://gist.github.com/e-d/5f116cb72f0667467f33
(we already integrate Xuggler)
The text was updated successfully, but these errors were encountered: