Question

I am new to video encoding and am getting confused with the depth of it.

Goal: To convert a VP8 encoded RTP video stream to H.264 encoded RTP video stream

Question: What should be my approach?

The way I am looking at it,

  1. Receive video stream (VP8)
  2. Extract frames one by one
  3. Decode each frame (using WebM tools)
  4. Encode the frame (using ffmpeg)
  5. Write to the outgoing stream

Is this how it should be? Also, please point me to additional resources. Thanks in advance.

Was it helpful?

Solution

This actually should be merged to Super User, but you can do this completely using FFmpeg (from reading to writing). Since you are new to video transcoding, take a look at FFmpeg the mother of all command lines, which is a great tutorial about this subject. It explains almost every step you need for this project.

OTHER TIPS

You have all of the steps right. I recommend using ffmpeg for both VP8 decoding and H264 encoding. The advantage of using ffmpeg for both steps is that you can leverage ffmpeg video frame data structures; which will make above mentioned transcoding a bit easier.

VP8 encoding/decoding is supported in the latest ffmpeg version(and has been there since v0.6). You can get latest prebuilt ffmpeg libs for windows here: http://ffmpeg.zeranoe.com/builds/

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top