How to handle packets encoded with VP8/VP9 or AV1? #434
-
I created a simple program that receives packets from UltraGrid, removes the first 36 bytes (12 bytes for RTP + 24 bytes for the UltraGrid video payload), and then forwards the modified packets to ffmpeg. When using H.264, ffmpeg is able to process the stream without any issues. However, when I try the same approach with VP8, VP9, or AV1, ffmpeg fails to read the stream. Is there anything I can do to the packets to make ffmpeg recognize them? Any help would be greatly appreciated. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
Hi, I think that it works with H.264 because the frames are both self contained and self-delimiting (if concatenated, it creates Annex-B format). I've played played a bit around and it seems to me that AV1 might work? Provided that the below is the correct simulation of the situation. I've tried:
However, it doesn't work the same way for VP9, which perhaps means that it needs some container. What if you add the frames to a Duck IVF container? I've created a simple muxer mux_ivf.c.txt that seem to work on recorded files. Usage is simple: Using it at packet level may be, however, slightly challenging:
|
Beta Was this translation helpful? Give feedback.
Hi, I think that it works with H.264 because the frames are both self contained and self-delimiting (if concatenated, it creates Annex-B format).
I've played played a bit around and it seems to me that AV1 might work? Provided that the below is the correct simulation of the situation. I've tried:
However, it doesn't work the same way for VP9, which perhaps means that it needs some container. What if you add the frames to a Duck IVF container? I've created a simple muxer mux_ivf.c.txt that seem to work on recorded files. Usage is simple:
mux_ivf <width> <height> <fps> *…