发布于2026-07-23 阅读(0)
扫一扫,手机访问
注:使用的视频为mp4,转换成.m3u8播放列表和.ts切片文件
在CentOS上操作,FFmpeg的安装可以选择多种方式。这里选择通过Nux Dextop仓库来安装,流程相对标准。
先把EPEL仓库装上,这是很多扩展包的基础依赖:
sudo yum install -y epel-release
接着,下载并导入Nux Dextop仓库的RPM包和密钥:
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
更新一下YUM缓存,确保仓库信息生效:
sudo yum update -y
然后,正式安装FFmpeg及其开发包:
sudo yum install -y ffmpeg ffmpeg-devel
最后,验证一下安装是否成功:
ffmpeg -version

PHP环境同样是必须的,安装命令非常直接:
sudo yum install php php-cli
确认版本号:
php -v

核心的切片逻辑,看一下具体的脚本实现。这里会把输入视频按指定时长分割成多个.ts文件,同时生成一个.m3u8播放列表文件——这是HLS流媒体的标准格式。
视频文件放在:/data/video
PHP脚本(命名为 slice_video.php)放在:/data
一切就绪后,直接在命令行执行:
php slice_video.php

切片文件需要Web服务器来提供访问,Nginx是一个不错的选择。
先安装:
sudo yum install nginx -y
启动并设置为开机自启:
sudo systemctl start nginx sudo systemctl enable nginx
检查一下运行状态:
sudo systemctl status nginx
开发环境里,为了方便测试,可以先把防火墙关掉:
sudo systemctl stop firewalld sudo systemctl disable firewalld sudo systemctl status firewalld
接下来是关键的Nginx配置,编辑 /etc/nginx/nginx.conf。核心思路是:添加一个location,将HLS文件目录暴露出去,并配置正确的MIME类型:
sudo nginx -t # 测试配置文件语法是否正确
sudo systemctl reload nginx # 重新加载 Nginx使配置生效
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 4096;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name 192.168.126.129;
location /hls/ {
alias /data/target_dir/; # 替换为你的实际目录路径
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
add_header 'Cache-Control' 'no-cache';
add_header 'Access-Control-Allow-Origin' '*';
}
}
}
最后,编写一个简单的HTML页面来播放这个HLS流。借助hls.js库,可以在大多数现代浏览器中实现流畅播放:
HLS Stream Player
视频播放器
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8