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

strip unnecessary non-VCL NALs from sample data #43

Open
scottlamb opened this issue Mar 9, 2018 · 1 comment
Open

strip unnecessary non-VCL NALs from sample data #43

scottlamb opened this issue Mar 9, 2018 · 1 comment
Labels
enhancement rust Rust backend work required
Milestone

Comments

@scottlamb
Copy link
Owner

I briefly examined the actual H.264 bytestream via aizvorski/h264bitstream and found some suspect things. I believe the video samples I store and the .mp4s I serve include sps/pps information, for example, even though this is redundant with the video_sample_entry.

@scottlamb scottlamb added the bug label Mar 9, 2018
@scottlamb scottlamb added this to the 1.0? milestone Mar 9, 2018
@scottlamb scottlamb added the rust Rust backend work required label Apr 6, 2021
@scottlamb scottlamb modified the milestones: 1.0?, wishlist Apr 11, 2021
@scottlamb
Copy link
Owner Author

scottlamb commented Apr 11, 2021

I now think this issue is fairly easy but also not very urgent.

I once thought these unnecessary NALs were preventing .m4s files from playing back properly (which would cause problems for a scrub bar UI or live view). But I found other causes for those problems, and live view is working fine now.

moonfire_nvr::h264::transform_sample_data sees each NAL and can skip ones it doesn't like. It could skip just the SPS/PPS or any "non-VCL" NALs. (See ISO/IEC 14496-10 table 7-1.) That'd save a little bit of disk space/bandwidth, but it's pretty minor. I'm not sure if any of the non-VCL NALs have info we might want to make use of in the future (maybe some cameras include in SEI some buffering info that might help us determine how far we are behind live?), but video should play fine without them, and I'm pretty sure nothing is using them today.

@scottlamb scottlamb changed the title extraneous H.264 NALs sample data includes unnecessary non-VCL NALs Apr 11, 2021
@scottlamb scottlamb changed the title sample data includes unnecessary non-VCL NALs strip unnecessary non-VCL NALs from sample data Apr 11, 2021
@scottlamb scottlamb added enhancement and removed bug labels Apr 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement rust Rust backend work required
Projects
None yet
Development

No branches or pull requests

1 participant