Skip to content

vitaly-castLabs/mse-eme-player

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

How to create MSE-compatible videos with ffmpeg and Shaka packager

See a detailed guide here, here's an executive summary:

Video only (resulting MIME: video/mp4; codecs="avc1.64001e"):

ffmpeg -f lavfi -i testsrc=size=640x480:rate=30 -c:v libx264 -profile:v high -x264opts bframes=0 -pix_fmt yuv420p \
-t 20 -f mp4 -movflags frag_keyframe+empty_moov+default_base_moof mse-test-v.mp4

Video + audio (resulting MIME: video/mp4; codecs="avc1.64001e,mp4a.40.2"):

ffmpeg -f lavfi -i testsrc=size=640x480:rate=30 -f lavfi -i sine=frequency=440:sample_rate=48000 \
-c:v libx264 -profile:v high -x264opts bframes=0 -pix_fmt yuv420p -c:a aac -ar 48000 -ac 2 -t 20 -f mp4 \
-movflags frag_keyframe+empty_moov+default_base_moof mse-test-av.mp4

And then encrypt (optional):

packager in=mse-test-v.mp4,stream=video,output=mse-test-v-encr.mp4,drm_label=VIDEO --protection_scheme cbcs \
--enable_raw_key_encryption --protection_systems CommonSystem --segment_duration 1 --fragment_duration 1 \
--keys label=VIDEO:key_id=00000000000000000000000000000001:key=3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c:iv=d5fbd6b82ed93e4ef98ae40931ee33b7 \
--fragment_sap_aligned=false --segment_sap_aligned=false --clear_lead 0 --nogenerate_sidx_in_media_segments

About

Online test MSE player with EME support (ClearKey)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages