Stream decoding #94
Replies: 1 comment
-
Hi Victor, We will not add that feature, because streaming is not the intended use case for the Just reading data from the file, when it is available will not work, because the decoder application does not know when the data written to the file is a complete frame. If you really want to build a streaming application I suggest you build your own application around the libvvdec library, that accepts the data from a socket and passes it to the decoder library. You will also have to think about packaging, so you know when the data, that arrived on your socket is a complete frame or at least a complete NAL-unit. Otherwise you will hand incomplete frames to the decoder, which will not work. That is what container formats like MP4 and streaming protocols like RTP exist for. You can look into the vvdecapp as an example for how to use the decoder library. |
Beta Was this translation helpful? Give feedback.
-
Hi, I am working on a project to create a real-time streaming video system compressed with VVC, and the encoder and decoder will be in different computers. For the encoder I am using your vvenc project (https://github.com/fraunhoferhhi/vvenc), and the decoder is this project.
Now, it comes the problem, since it is in real time, I cannot use a file created by the encoder and after, let say, 1 minute, stop encoder, transfer this file to the decoder, decode it, play the video, and repeat everything.
Instead, I thought that when encoder has written something, transfer and append this to the input file of the decoder, and the decoder should have an option when starting it that when it reaches the end of input file, waits until new data is written in the input file, so it can continue without restarting it. Right now, when it reaches the end of file, it just finish the decoding but I want to use random access images so I need to keep the decoding process running since different frames have dependencies between them.
I tried to modify the code to implement this but it is giving me errors and problems. I think that this option can be very useful for many projects and solutions so I considered to suggest it.
If you think that it is a bad idea or you have another option to implement this, just tell it.
Beta Was this translation helpful? Give feedback.
All reactions