how to encode videos for the web and mobile phones using ffmpeg

1.3k Views Asked by At

I'm running a website where users can upload their videos and they are all trancoded to the same format (mp4 a.t.m.). Up until now I've been using zencoder (transcoding as a service). But I want to start transcoding the videos on my own server.

What I would like to know is:

  • Which formats should I transcode to and which sizes are needed for the videos to play on most mobile phones?
  • Do I actually need webm?
  • Which is better: CRF or VRF?
  • I would like the videos to have the same bitrate/quality as the originals. Can I set a max?
  • Is there a max bitrate I should not exceed if I want to videos to play everywhere?

If someone would be so kind to write down the commands I need and explain how they work and what they do, I would be very thankful :)

1

There are 1 best solutions below

0
On

I posted some good resources on this situation in another question, it could point you in the right direction.

Convert video on iPhone

I would use h.264 since it has excellent compression ratio and good bitrate control. I would choose a variable bitrate compression with a maximum. I wouldn't exceed 1Mb/s for your total video scheme (so if you have 3 videos playing at once don't encode higher than 300Kb/s), but thats my personal preference for network speed. You'd have to play with what works for your situation: