Back to Projects List
Compressed Video Saving and Loading for Sequences
Key Investigators
- Longquan Chen (Brigham and Women’s Hospital)
- Kyle Sunderland (Perk Lab)
- Andras Lasso (Perk Lab)
- Étienne Léger (Concordia University)
- Junichi Tokuda (Brigham and Women’s Hospital)
Project Description
The Video streaming saving module Sequence. Video Streaming in Sequence
A 5 minutes HD video without compression will be around 10GB. VP9, H264, HEVC codecs are available for video compression and video streaming.
Objective
- Implement and test the saving and loading of compressed video files using the Sequences module.
- Should be able to:
- Store video Sequences in memory using a compressed video format
- Save video Sequences to files in a compressed video format
- Load compressed video files into Sequences
Approach and Plan
- Test the currently implemented version.
- Fix bugs and implement features as necessary.
- Integrate these changes into the master branch of Sequences.
Progress and Next Steps
- An existing version of this feature has already been implemented here.
- Need to test the existing method to see if it still works, and determine if any changes need to be made.
The work finished in the project week
- A new vtkBitStreamMRMLNode is created for displaying video data, the most recent key frame and current frame are stored in this node.
- A new vtkMRMLBitStreamSequenceStorageNode is created for write and read bitstream sequence data in Slicer.
- Video can be replayed at any time point in the Sequence browsing widget. The related key frame will be found and decoded So the current frame can be showed correctly.
- Compressed video data are saved in a binary file, and can be reloaded into Slicer correctly.
- Demo Video IPad real time video, lossy compression, frame rate 30 FPS, compressed data only 1.7% of the original data.
- Added support for AV1 codec in OpenIGTLink
Next steps
- Clean the code, merge branch into upstream, make the new feature in Slicer nightly build
Illustrations
Background and References