Skip to content
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

Add video transcoder module, initially designed for SpaceX Falcon 9 stream #7

Merged
merged 1 commit into from May 29, 2021

Conversation

olegkutkov
Copy link
Contributor

I know that this is a little bit outdated since the Falcon9 stream is currently encoded.
But @Aang23 suggested adding this code since it's a lot of work was done.

Probably this module can be used for some other/future video feed. Currently, it's in the Falcon decoder module but can be moved and renamed.
The module is not specific for the Falcon or SpaceX or any specific format It's based on libavformat/libavcodec and can read any input video feed and convert it to an h264 mp4 file with real-time text overlay (optionally).
The module automatically detects all video and KLV data streams. Each stream's data will be saved in a separate file:
video_0.mp4, video_1.mp4, data_0.klv, and so on.

Damaged frames are dropped so the resulting file can be played with any player.
image

I introduced a new condition macro "USE_VIDEO_ENCODER" which is set by default.
This macro can be used to disable compilation and usage of the video coder module.
Please note that in the case of the disabled module we need to disable libav
dependencies in src-core/CMakeLists.txt. This is not done here.
*

@Aang23 Aang23 merged commit bf48442 into SatDump:master May 29, 2021
@Aang23
Copy link
Collaborator

Aang23 commented May 29, 2021

Thanks!
I took way too long to merge this...

_I introduced a new condition macro "USE_VIDEO_ENCODER" which is set by default. This macro can be used to disable compilation and usage of the video coder module. Please note that in the case of the disabled module we need to disable libav dependencies in src-core/CMakeLists.txt. This is not done here._*

I added this as a Cmake option, disabled by default. That way it is not required to link against libav as currently the SpaceX modules will not be of very much use, unless they ever turn encryption off.

By all means, thanks! Hopefully this will end up being reused on something else with a similar video stream :-)

Aang23 added a commit that referenced this pull request Oct 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants