使用ffmpeg MP4轉 m3u8並播放 實測!!

安裝ffmpeg

yum -y install epel-release
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
yum -y install ffmpeg ffmpeg-devel
ffmpeg -version

安裝成功

MP4轉m3u8

放上對應的MP4就可以

ffmpeg -i 22.mp4 -profile:v baseline -level 3.0 -s 640x360 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls index.m3u8

可以看到轉成功了

放到對應的web目錄

html調用就可以了

html代碼 

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>前端播放m3u8格式視頻</title>
    <link href="https://vjs.zencdn.net/7.4.1/video-js.css" rel="stylesheet">
    <script src='https://vjs.zencdn.net/7.4.1/video.js'></script>
    <!-- videojs-contrib-hls 用於在電腦端播放 如果只需手機播放可以不引入 -->
    <script src="https://cdn.bootcdn.net/ajax/libs/videojs-contrib-hls/5.15.0/videojs-contrib-hls.min.js"></script>
</head>
 
<body>
<style>
    .video-js .vjs-tech {position: relative !important;}
</style>
<div>
    <video id="myVideo" class="video-js vjs-default-skin vjs-big-play-centered" controls preload="auto" data-setup='{}' style='width: 60%;height: auto'>
        <source id="source" src="./m3u8/index.m3u8" type="application/x-mpegURL"></source>
    </video>
</div>
</body>
<script>
    // videojs 簡單使用
    var myVideo = videojs('myVideo', {
        bigPlayButton: true,
        textTrackDisplay: false,
        posterImage: false,
        errorDisplay: false,
    })
    myVideo.play()// 視頻播放
    myVideo.pause() // 視頻暫停
    var changeVideo = function (vdoSrc) {
        if (/\.m3u8$/.test(vdoSrc)) { //判斷視頻源是否是m3u8的格式
            myVideo.src({
                src: vdoSrc,
                type: 'application/x-mpegURL' //在重新添加視頻源的時候需要給新的type的值
            })
        } else {
            myVideo.src(vdoSrc)
        }
        myVideo.load();
        myVideo.play();
 
    }
   
</script>
</html>

ok完成

video插件用法:https://www.awaimai.com/2053.html
參考https://blog.csdn.net/weixin_39150852/article/details/105789979
ffmpeg推送直播流的技術進展https://www.cnblogs.com/QingHuan/p/8795202.html

mp4轉碼m3u8
如果視頻不爲mp4格式,需先將視頻轉碼爲mp4,可使用如下命令進行轉換
ffmpeg -i 本地視頻地址 -y -c:v libx264 -strict -2 轉換視頻.mp4
將mp4格式轉換爲ts格式
ffmpeg -y -i 本地視頻.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 轉換視頻.ts
將ts文件進行切片
ffmpeg -i 本地視頻.ts -c copy -map 0 -f segment -segment_list 視頻索引.m3u8 -segment_time 5 前綴-%03d.ts
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章