Skip to content
This repository has been archived by the owner on Mar 25, 2019. It is now read-only.

Is it possible to generate multiple bit-rate as well as corresponding master m3u8 in a single job? #36

Closed
nurrony opened this issue Jan 21, 2015 · 8 comments

Comments

@nurrony
Copy link

nurrony commented Jan 21, 2015

Hi,
We need to transcode video files to multi bit-rate HLS. It is generating single m3u8 and corresponding ts segments fine. So is it possible to generate multiple bit-rate as well as corresponding master m3u8 in a single job? If possible then what is the parameters for it?

@shafqatevo
Copy link

Hi @jbankston, great work by Codem team! Do you plan to incorporate support for multiple bitrate HLS variants soon?

As of now, what'll be the best approach to generate the multiple bitrate HLS variants? To use one job per variant? Or is it possible to use a single job to generate multiple variants and then somehow generate the master .m3u8 (by some outside script?)?

@jbankston
Copy link

Hi @shafqatevo,
The HLS integration works by using one file in and one file out then assembling the m3u8 playlist file in post. For example, if you need 3 variants of the same file then it will download the file 3 times and create 3 encoding jobs. In post a separate script assembles the playlist file and updates the database.

@shafqatevo
Copy link

Thanks, @jbankston.

Just to reconfirm, we'll need to create 3 encoding jobs, which will generated these 3 variants, right? And the master m3u8 (which lists the variant m3u8s) will have to be generated by us outside of the transcoder?

Any plan to implement this multiple bitrate HLS variant generation including master m3u8 generation within the transcoder?

@fredrikj
Copy link

A client software for codem-transcode was created at https://github.com/Eyevinn/codem-client. It can be set up to generate multiple formats. Nothing about m3u8 though. Now that you mention it, it should be added.

@tieleman
Copy link
Contributor

Hi all, we prefer to keep such higher-level tasks (e.g. combining multiple m3u8, or segmenting for MPEG-DASH, other post-processing, etc.) in the software that's actually controlling codem-transcode. The more complex tasks you put in codem-transcode will result in it being less scalable. For example: encoding 8 variants can be split easily among a number of transcoders. But the more we let ffmpeg do for us (i.e. generating all variants at once using one command) will result in it being tied to a single transcoder which can cause scalability/performance issues.

Thanks for pointing out codem-client, it looks interesting!

@shafqatevo
Copy link

Got it, @tieleman

@fredrikj, in what ways the Eyevinn Codem Manager is different from Transcodem Scheduler?

@fredrikj
Copy link

@shafqatevo: Sorry, I don't have a good answer to that, since I never really looked into Transcodem Scheduler. I'm sure there is overlap. The manager, anyway, can be set up with different transcoding profiles and you can then call it with multiple profile names. Then, you'll get the transcodings back, performed in parallel if you had multiple machines with codem-transcode installed.

@shafqatevo
Copy link

Thanks, @fredrikj, we'll take a look at it.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants