Comments (3)
The library will either read a portion of an H.264 Annex B byte stream, or a single NAL (network abstraction layer) unit. That second mode means it's possible to feed it a byte buffer with a single NAL unit (excluding any start code) and expect it to consume the full buffer.
This Stack Overflow answer has some details on NAL units and start codes: https://stackoverflow.com/a/24890903/660982
In order to feed individual NAL units, you need to have some other code keeping track of them. That job is usually left up to the container library (like MP4file, RTP, or something custom)
from h264bsd.
Is there not a way to just have the library request more data when it runs out?
from h264bsd.
Not really. The library is low level for decoding pictures from the stream. It doesn't handle timing, wrapping each Network Access Layer unit in some other format or other thing a streaming library would provide. It only handles decoding one image at a time.
So you give it a NAL unit and it will either give you an image or nothing (if there is no new image).
The Annex B decoder is only slightly higher level, where you can give it a bunch of NAL units (separated by 0x0001) and it will decode the first NAL unit and return the location where it stopped.
If you want something higher level for streaming you should look at FFMPEG. It provides the unwrapping, timing, and other functionality for streaming.
from h264bsd.
Related Issues (20)
- NAL parcer error HOT 3
- Question... HOT 3
- Uncaught TypeError: module._memcpy is not a function HOT 1
- How to use the wasm version in NodeJS HOT 2
- ERROR: frame_mbs_only_flag HOT 2
- LICENSE.md missing HOT 2
- How to skip frames HOT 1
- Windows BMP? HOT 3
- How to build this project from Rakefile HOT 1
- The h264bsd fully doesn't render the original colors HOT 2
- Swap from uglify to terser HOT 1
- trying to decode HOT 2
- Error when decoding HOT 3
- Neon flag not working on my system HOT 1
- How to handle h264bsdNextOutputPicture returning NULL? HOT 2
- cabac / entropy coding HOT 1
- failed to run on 64bit HOT 8
- Cant play movie twice HOT 1
- Decoder Error HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from h264bsd.