FFmpeg+Nginx+VLC打造M3U8M3U8点播

Nginx:web服务器NginxNginx)

FFmpeg:m3u8切片

VLC:点播客户端

切片命令:

复制代码
ffmpeg -i input.mp4 -vbsf h264_mp4toannexb -vcodec libx264 -acodec aac -strict -2 -s 640x480 -g 30 -r 150 -start_number 0 -hls_time 5 -hls_lis_size 0 -threads 1 -f hls -y low.m3u8

-r 30 帧率,每秒30帧

-g 60 60帧一个关键帧,如果改为30,则一秒一个关键帧,但浪费带宽和服务器,

-start_number 0 从0开始

-hls_time 5 一个片段5秒

-hls_lis_size 0 表示列表的长度,0表示所有,如果指定为3,切3个片,就不再继续切了

-threads 1 开一个线程,不指认线程的话,开启所有线程,导致cpu飙升,如果指定为1,那么四核的cpu,只有一个进行工作,占25%

用vlc观看即可

http://localhost/low.m3u8

可以把这个部署在服务器上apche,ngnix等网络服务器上即可运行java,php,node上都可以运行这个FFmpeg命令,搭建点播服务器,web服务可以任意选择

相关推荐
枫super21 分钟前
Linux系统基本指令和知识指南
linux·运维·服务器·虚拟机·linux命令
末央&43 分钟前
【Linux】冯诺依曼体系结构和操作系统的理解
linux·运维·服务器
郝开2 小时前
Java启动和停止jar文件sh脚本:自适应文件名方式启停 + 写死环境 启动;自适应文件名方式 + 命令行传参切换环境 启动
java·运维·jar
Watink Cpper3 小时前
[Linux]多线程(二)原生线程库---pthread库的使用
android·linux·运维·原生线程库·pthread库
R-sz5 小时前
如何创建伪服务器,伪接口
运维·服务器
python算法(魔法师版)5 小时前
Docker容器启动失败?无法启动?
linux·运维·nginx·docker·容器
酷爱码5 小时前
Ubuntu日志文件清空的三种方式
linux·运维·ubuntu
狄加山6758 小时前
Linux Input子系统与驱动开发实战
linux·运维·驱动开发
小刘|8 小时前
对称加密以及非对称加密
linux·运维·网络
UFIT8 小时前
Nginx安全防护与HTTPS部署实战
nginx·安全·https