使用bento4同時產生DASH和HLS

承上一篇:使用bento4產生DASH或CENC/CBCS加密的DASH


同時產生無加密DASH和HLS

mp4dash -f -o bento4_clear --mpd-name=clear.mpd \
  --hls \
  --hls-master-playlist-name=clear.m3u8 \
  --hls-media-playlist-name=track.m3u8 \
  fragmented.mp4

--hls-master-playlist-name指定的是HLS的主播放清單(影片+聲音)
--hls-media-playlist-name指定的是HLS的媒體播放清單(單純影片或是聲音)

同時產生加密DASH和HLS

這裡用下面的key和iv值做範例
VID_KID=6c145258e3df0584cd61f57e0ed5cba1
VID_KEY=5a867de28e7a029c2e995687b8992693
AUD_KID=1716d547cd7c0398bd244ac06c8a2ec8
AUD_KEY=0c63c5c13d0d25d697f5a38bb1ce7190
COMM_IV=c35263c8381d0b6b80f93360a5ca2ee6

mp4dash -f \
  --encryption-key=video:${VID_KID}:${VID_KEY}:${COMM_IV},audio:${AUD_KID}:${AUD_KEY}:${COMM_IV} \
  --encryption-cenc-scheme=cbcs \
  -o bento4_cbcs \
  --mpd-name=encrypted.mpd \
  --hls \
  --hls-master-playlist-name=encrypted.m3u8 \
  --hls-media-playlist-name=enc_track.m3u8 \
  fragmented.mp4

上面輸出的HLS是用SAMPLE-AES, 同Apple提供的加密方法
#EXT-X-KEY:METHOD=SAMPLE-AES

bento4不支援其他的加密方法(cenc,cens,cbc1)同時輸出HLS, 會顯示錯誤訊息

# ERROR: --hls requires --encryption-cenc-scheme=cbcs


留言