How can I convert some.flv or some.avi or some.wmv with FFmpeg to be sure that this video will be playable and seekable in JW Player?
|
|
||||
|
|
|
This is an answer to last comment by you @abrahab. You don't need to Now for the 500 server error, are you using "-frag" option with mp4box? MP4 streaming module can't read fragmented MP4 files. Good use of I always do this to
This will also interleave the MP4 file in 500 milliseconds of chunks by default. |
||||
|
|
Generally, you want to create x264 video within an MP4 container, so the following should be enough. Make sure to replace input name and CRF options. The latter sets the quality, where sane values range from 19 to 25 – lower means better quality, but also higher bitrate:
You can also use Handbrake for encoding if you like the GUI way. Now, what you need to do is move the MP4 container's MOOV atom to the beginning. This atom (in essence, a unit of data in the MP4 container) will contains important metadata about the video/audio streams themselves. If your video is not seekable, then this is probably because the MOOV atom is still at the end of the file and needs to go to the beginning. You can do this with any of the below tools:
That's about it. The rest of the toolchain is actually more complicated than that. You need to properly set up your web server so it handles h.264 content if you want HTTP pseudo-streaming. Check JW Player's documentation for more:
You need the h.264 streaming module for Apache, Lighttpd, IIS and NginX and then continue with the JW Player setup. As this is not in the scope of this question and a far broader topic, any problems that might occur during streaming need proper debugging – but the video encoding stage should not matter that much. |
|||||||
|
|
You can try this with ffmpeg:
|
|||||||||
|
