encs3hlsbin: Encode multivariant hls to s3.
This bin generates multivariant HLS and upload directly to S3. number of variants and properties of each variants are specified via property.
This bin wraps -
video_scale -> videorate -> video_encode -> hls -> upload_to_s3
audio_resample -> audio_encode -> hls -> upload_to_s3
bin supports all combination of audio only hls, video only hls, audio+video hls
example pipeline -
gst-launch-1.0 -vvv videotestsrc is-live=1 num-buffers=1000 ! videoconvert ! videoscale ! videorate ! video/x-raw,format=I420,framerate=30/1,width=1920,height=1080 ! queue ! sink.hls_video audiotestsrc num-buffers=1000 ! audioconvert ! audioresample ! queue ! sink.hls_audio encs3hlsbin name=sink variants="<\"p1,width=(int)1280,height=(int)720,fps=(int)20,bitrate=(int)3000\",\"p2,width=(int)640,height=(int)360,fps=(int)20,bitrate=(int)2000\" >" s3bucket=<my s3 bucket> s3region=ap-south-1 s3key-prefix=hls-test playlist-type=vod
Edited by rajneeshksoni