For video conversion I use FFmpeg. Creation of HLS is
possible with FFmpeg, but not really well documented. So I had to figure out how
to create the video streams. After a lot of research and experimentation I
created my FFmpeg HLS reference implementation that is available on Bitbucket.
On iOS the created video plays without problems on new
devices. Older iOS devices with a maximum resolution of 480×320 pixels seem to select
the best quality stream available, even if they cannot play it. For Android you
have to create a MP4 video and before converting it into a MPEG stream. Doing this
in a single command creates a choppy stream on Android. Flash playback has
still some issues if you change the bitrate. So I still have some work to do.
These are the writings of Walter Ebert on web development,
web design and free, open source software
Markdown for AI
A clean, structured version of this page for AI assistants and LLMs.
We use cookies to ensure you have the best browsing experience on our website. By using our site, you
acknowledge that you have read and understood our
Cookie Policy &
Privacy Policy.
For video conversion I use FFmpeg. Creation of HLS is possible with FFmpeg, but not really well documented. So I had to figure out how to create the video streams. After a lot of research and experimentation I created my FFmpeg HLS reference implementation that is available on Bitbucket.
On iOS the created video plays without problems on new devices. Older iOS devices with a maximum resolution of 480×320 pixels seem to select the best quality stream available, even if they cannot play it. For Android you have to create a MP4 video and before converting it into a MPEG stream. Doing this in a single command creates a choppy stream on Android. Flash playback has still some issues if you change the bitrate. So I still have some work to do.
These are the writings of Walter Ebert on web development, web design and free, open source software