HLS to DASH conversion

360 views
Skip to first unread message

tijo.joh...@gmail.com

unread,
Mar 14, 2018, 7:03:40 AM3/14/18
to Shaka Packager Users

Hi,

I am fairly new to streaming technologies and trying to get familiar with the shaka packager. 


The documents lists fairly detailed examples of a flat media file conversion to HLS / DASH.

 

I wanted to know if the shaka packager supports HLS to DASH conversion. i.e.; supports taking a master m3u8 as input and generates the corresponding DASH Manifest. This includes processing the HLS master / media playlists and converting the TS segments to DASH segments too.  Is this feature currently supported by shaka packager?


If the above isn’t currently supported, Will I be able to utilize the shaka packager to convert individual TS segments to DASH segments while adding logic for HLS parsing and DASH manifest generation separately?


Thanks & Regards

Tijo

KongQun Yang

unread,
Mar 14, 2018, 8:52:17 PM3/14/18
to Shaka Packager Users
Hi Tijo,

See my replies below in line.


On Wednesday, March 14, 2018 at 4:03:40 AM UTC-7, tijo.joh...@gmail.com wrote:

Hi,

I am fairly new to streaming technologies and trying to get familiar with the shaka packager. 


The documents lists fairly detailed examples of a flat media file conversion to HLS / DASH.

 

I wanted to know if the shaka packager supports HLS to DASH conversion. i.e.; supports taking a master m3u8 as input and generates the corresponding DASH Manifest. This includes processing the HLS master / media playlists and converting the TS segments to DASH segments too.  Is this feature currently supported by shaka packager?


No. That is not supported right now.
 

If the above isn’t currently supported, Will I be able to utilize the shaka packager to convert individual TS segments to DASH segments while adding logic for HLS parsing and DASH manifest generation separately?


Yes, there are multiple ways you can do.

(1) Write TS segments to a pipe and provide the pipe as input to Shaka Packager. You'll just need to parse HLS manifest yourself. DASH manifest generation can be handled by Shaka Packager.
(2) Or use Shaka Packager library interface. You can read the data from TS segments and provide it to Shaka Packager in buffer callback: https://google.github.io/shaka-packager/html/library_details.html#_CPPv2N5shaka15PackagingParams22buffer_callback_paramsE.

(3) You can write a HLS manifest parser for Shaka Packager so we can handle HLS natively in Shaka Packager. If you have already have a HLS manifest parser in C++ or if you know how to write a HLS manifest parser in C++. There are just some additional glue works involved. Let us know if you want to go this route. We can discuss the design in detail.

 


Thanks & Regards

Tijo

Tijo John

unread,
Mar 15, 2018, 10:52:45 AM3/15/18
to KongQun Yang, Shaka Packager Users
Thanks a lot for the clarifications and the suggestions.

The first option would be a solution thats easier to prototype and validate as Shaka packager would take care of the DASH manifest generation too. 
Hopefully the prototype would lead to a more concrete solution as described in option 3 for which I shall get in touch with you.

Thanks again for the suggestions.

Tijo.

--
You received this message because you are subscribed to the Google Groups "Shaka Packager Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to shaka-packager-users+unsub...@googlegroups.com.
To post to this group, send email to shaka-packager-users@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/shaka-packager-users/60b22def-4ff1-4dc1-a530-181176e83c62%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages