I've got a web app to which users upload videos in various formats. A lot of mobile mov and mp4 files (iOS and android), but a fair amount of wmv, mpeg, mkv, flv... from the pc users.
I'm obviously trying to build a generic streaming platform that will let all these different users stream each others videos on the device they like. Simple use-case right ? Something meny like me must be trying to setup... but there isn't any full tutorial that explain how to proceed and how to convert files to have the best results & performances in wowza.
So I'asking here and will try to build one :-)
Note: I'm ready to get rid of flash, so rtmp doesn't matter much to me at the moment.
That means I need wowza to be able to stream flawlessly in MPEG-Dash, HLS and mobiles (to use the enginemanager terminology). My problem is I can't seem to find a way to convert/encode all these files in a format that works with all the streaming protocols.
I've got wowza running, a linux box with ffmpeg 2.5.8 & Handbrake (I can set up any version of these)... so I'm pretty flexible.
Now how should I proceed ? I've read a lot of posts about how to encode files, some old posts, some new, none of them describe a global process to deal with files coming from different sources.
So how should I convert my user files ? Should I encode all of them in mp4-h264 ? Should I generate 1 file or different files for each streaming technology ? Should I use ffmpeg or handbrake ?
I don't necessarily want ffmpeg commands right away (tested lots of commands during the last few days), I'm more interested in the flow / process to get the best of wowza.
Encoding all to H.264 and AAC is definitely going to provide the best experience for most. That's essentiall what Wowza Streaming Engine natively supports and what most mobile devices are capable of playing.
'how to encode' guide, with tested ffmpeg commands, which it sounds like may have you've already seen,
is the most visited. A tool like FFMPEG may give you the best flexibility if you want to automate/script things and, if some source files require different attention than others, you may be able to build in some intelligence for such scenarios.
It is definitely good to solicit more feedback from the community, as there's plenty of experience here.