Basic questions
I do have a number of questions, I’d appreciate your help with:
1. For our intended audience, adaptive mobile video is crucial. For scalability, I think it makes sense to leverage cloud service platforms, such as S3 for thumbnail/VOD assets, and CDNs (CloudFront, Akamai etc.) for serving these assets, as well as the DASH/HLS streams. Can you provide any guidance on how to best achieve this? For the POC, I adapted code from your PHP web services – is that the recommended way to handle this?
2. In your documentation, you mention EMS’s ability to ingest metadata, but you don’t provide any examples of such. Can you provide any guidance on how to ingest and synchronize medatada across all (transcoded) versions of a stream? I’m particularly interested in Closed Captions (for compliance wit accessibility regulations), and multi-language subtitles (WebVTT). How would you recommend implementing these?
3. EMS ships with the ffmpeg encoder. Do you have any recommendations for more efficient (possibly hardware-based) encoders? Based on your experience, what bitrates/resolutions do I need to transcode my input stream into, to achieve the best playback experience across Android/IOS and Desktop players?
4. How do I use the presets in the ‘evo-avconv-presets’ folder? I suspect I need to pass them to the transcode` API, but it isn’t clear how to do that, from the documentation.
5. Will it still be possible to use features like Stream Aliasing and Watcher Analytics, if the streams (in this case, DASH and HLS) are being served via CDN? I’m thinking, No, in which case, is there some other way to take advantage of those features? Or will I have to roll my own analytics and stream security?
6. Any suggestions to how I can estimate the cost of running the streaming platform, along with EMS on AWS infrastructure, for 3 – 6 months, with moderate load (1,000 – 10,000 viewers per day)? I’ve seen separate bandwidth and compute calculators, but I wonder if you have something more comprehensive?
1 Answers
3.) I cant answer 3. Help, guys!
4.) Example preset use:
transcode source=rtmp://localhost/live/input groupName=trans videoSizes=480×270,640×360,960×540,1280×720,1920×1080 videoBitrates=800k,1200k,2200k,3500k,6000k audioBitrates=96k,96k,96k,128k,128k targetStreamNames=trans-270,trans-360,trans-540,trans-720,trans-1080 destinations=trans-270,trans-360,trans-540,trans-720,trans-1080 videoAdvancedParamsProfiles=streamstar-60,streamstar-60,streamstar-60,streamstar-60,streamstar-60
To use the presets we specify the presets in the videoAdvancedParamsProfiles and audioAdvancedParamsProfiles. You can use your own presets as in the example above, or you can use existing ones in the evo-avconv-presets.
5.) Stream aliasing cannot be used in ABR. However, there is an equivalent concept called group name aliasing. See Group Name Aliasing section. http://docs.evostream.com/ems_user_guide/security 6.) Best addressed by Don/Eka. Thanks.
transcode source=rtmp://localhost/live/input groupName=trans videoSizes=480×270,640×360,960×540,1280×720,1920×1080 videoBitrates=800k,1200k,2200k,3500k,6000k audioBitrates=96k,96k,96k,128k,128k targetStreamNames=trans-270,trans-360,trans-540,trans-720,trans-1080 destinations=trans-270,trans-360,trans-540,trans-720,trans-1080 videoAdvancedParamsProfiles=streamstar-60,streamstar-60,streamstar-60,streamstar-60,streamstar-60
To use the presets we specify the presets in the videoAdvancedParamsProfiles and audioAdvancedParamsProfiles. You can use your own presets as in the example above, or you can use existing ones in the evo-avconv-presets.
5.) Stream aliasing cannot be used in ABR. However, there is an equivalent concept called group name aliasing. See Group Name Aliasing section. http://docs.evostream.com/ems_user_guide/security 6.) Best addressed by Don/Eka. Thanks.