JSMpeg的使⽤
JSMpeg是JS写的视频、⾳频解码器,能使⽤WebGL&Canvas2D渲染以及WebAudio声⾳输出。
2.简单例⼦
<canvas id="video" width="667" height="375"></canvas>
<script type="text/javascript" src="jsmpeg.min.js"></script>
<script>
var player = new JSMpeg.Player('test.ts', {
canvas: ElementById('video'),
decodeFirstFrame: true,
disableWebAssembly: false,
throttled: false, //这⾥设置为false,不然不触发onSourceCompleted事件
chunkSize: 4 * 1024 * 1024,
disableGl: false,
audio: true,
autoplay:true,
loop:false,
onSourceCompleted:()=>{
}
});
player.play();
</script>
3.注意事项
①需要转换为特定的格式,⽐如将mp4⽂件进⾏转换:
ffmpeg -i in.mp4 -f mpegts \
-codec:v mpeg1video -s 960x540 -b:v 1500k -r 30 -bf 0 \
-codec:a mp2 -ar44100 -ac 1 -b:a 128k \
out.ts
②IOS声⾳问题:IOS播放时默认没有声⾳,需要⽤户点击后才能发声(相当于获得⽤户允许后才能发声)。解决⽅案就是在启动时增加⼀个开始按钮或者增加⼀个⾳量已关闭的按钮,让⽤户点击时解锁声⾳。
function onUnlocked () {
player.volume = 1
}
script在html中的用法function onTouchStart () {
player.audioOut.unlock(onUnlocked)
}
// try to unlock immediately
player.audioOut.unlock(onUnlocked)
// try to unlock by touchstart event
document.addEventListener('touchstart', onTouchStart, false)
以上。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论