文章
649
标签
2112
分类
180
开发
大前端
人工智能
小程序
桌面应用
游戏开发
服务器&网络
服务器
网络
归档
标签
友链
联系我们
仰观苍穹思环宇
开发
大前端
人工智能
小程序
桌面应用
游戏开发
服务器&网络
服务器
网络
归档
标签
友链
联系我们
使用FFmpeg对mp4视频批量生成m3u8文件支持客户端通过HTML5的video地址使用blob访问资源片段
发表于
2024-09-30
|
更新于
2026-09-12
|
大前端
视频
您好, 这里需要密码.
FFmpeg
blob
HLS(HTTP Live Streaming)
视频流
视频格式转换
m3u8
mp4
实时转码
文件监控
流媒体
nginx跨域配置
上一篇
HFS(HTTP File Server)详细使用方法和注意事项
下一篇
深入掌握FFmpeg:从基础操作到高级视频处理技巧全面指南
相关推荐
2024-10-11
使用WebRTC实现视频通话的指南以及多场景应用实施详细流程
2024-09-29
深入掌握FFmpeg:从基础操作到高级视频处理技巧全面指南
2025-04-07
某些浏览器没法播放MP4格式的视频如何将MP4格式的视频转换为WebM格式
鸢尾花序
文章
649
标签
2112
分类
180
联系我们
目录
1.
先在服务端那边做好相关的配置和资源准备
1.1.
1. 服务端设置
1.1.1.
Windows 上安装 FFmpeg
1.1.2.
Linux 上安装 FFmpeg
1.1.3.
使用 FFmpeg 生成 HLS
1.1.4.
Nginx HLS 配置示例(/www/server/panel/vhost/nginx/你要配置的站点名称.conf)
1.1.5.
配置说明
1.1.6.
创建 HLS 流
1.1.7.
访问 HLS 流
1.1.8.
最后步骤
1.1.9.
这里说一个逆向思维
1.2.
2. 客户端设置
1.3.
HTML 示例
1.3.1.
3. 关键点
1.3.2.
4. 进一步优化
2.
如果我有无数个mp4视频,如何很好的使用 FFmpeg 生成 HLS来处理这个问题呢?
2.0.1.
批量转换 MP4 到 HLS
2.0.1.1.
1. 创建脚本
2.0.1.2.
2. 修改脚本参数
2.0.1.3.
3. 赋予执行权限
2.0.1.4.
4. 运行脚本
2.0.2.
解释脚本内容
2.0.3.
访问生成的 HLS 流
2.0.4.
其他选项
2.0.4.1.
解释
2.0.4.2.
HLS 文件生成
3.
我们可以在前端使用html5的video的时候只需要跟平常一样输入服务端的mp4的资源地址就可以在前端重写后缀就可以了
3.0.1.
HTML 结构
3.0.2.
功能说明
3.0.3.
结果
4.
比如:一个上线的网站,编辑者不断的上传mp4视频,如何实时的监控到目录里面有新添加的视频,然后做计划任务批量转换呢?请给出一个合理有效的解决方案?也要考虑服务器的性能
4.0.1.
方案概述
4.0.2.
实现步骤
4.0.2.1.
1. 安装依赖
4.0.2.2.
2. 创建监控脚本
4.0.2.3.
3. 给予执行权限
4.0.2.4.
4. 启动监控脚本
4.0.2.5.
5. 监控性能和限制并发
4.0.2.6.
6. 定期清理和管理
5.
脚本如何自动运行呢?
5.0.0.1.
方法 1: 使用 nohup 后台运行脚本(用来测试,偶尔使用这个也可以)
5.0.0.2.
方法 2: 使用 screen 保持脚本运行
5.0.0.3.
方法 3: 使用 systemd 创建服务(如果生产环境的话,可以使用systemd来管理会更方便)
5.0.0.4.
方法 4: 使用 crontab 自动启动脚本
5.0.0.5.
总结
6.
但是有的时候不工作,我们可以做一些检查工作。
6.0.1.
1. 检查脚本日志输出
6.0.2.
2. 确保 inotifywait 正常工作
6.0.3.
3. 检查脚本权限
6.0.4.
4. 调试模式
6.0.5.
5. 验证 FFmpeg 的权限
6.0.6.
6. 防止脚本被系统限制(笔者做了这个设置就能工作了,如果你那里不能工作可以试试这个)
6.0.6.1.
解释命令
6.0.6.2.
为什么需要增加这个限制?
6.0.7.
7. 测试无 nohup 直接运行
7.
目前使用了nohup来运行脚本和systemd来启动这个服务,以及如何停止服务呢?
7.0.0.1.
检查 nohup 进程
7.0.0.2.
步骤 1: 杀死多余的进程
7.0.0.3.
步骤 2: 确认进程已被终止
7.0.0.4.
步骤 3: 启动单一实例
7.0.0.5.
使用 nohup 启动
7.0.0.6.
使用 systemd 启动
7.0.0.7.
步骤 4: 检查运行状态
7.0.0.8.
注意事项
7.0.0.9.
检查 systemd 服务
7.0.0.10.
终止不需要的进程
7.0.0.11.
最佳实践
7.0.0.12.
示例
8.
我想要解决我通过systemd启动服务的时候就启动一个服务而不是多个
8.0.0.1.
1. 确保服务以简单模式运行
8.0.0.2.
2. 防止多个实例
8.0.0.3.
修改你的脚本
8.0.0.4.
3. 更新服务单元文件
8.0.0.5.
4. 启动和检查服务
8.0.0.6.
5. 检查服务状态
8.0.0.7.
总结
8.0.1.
总结
最新文章
Hexo静态博客添加联系表单:用Google Apps Script实现邮件直达
2026-09-17
白手起家没有资源的人如何通过资源整合一步步突破认知并打通合作路径的完整分析
2026-09-15
独立站定位四步法服务谁、解决什么、凭什么是你、怎么赚钱——WordPress独立站从模糊定位到清晰战略的完整框架
2026-09-15
Duplicator全量迁移WordPress后HTTPS挂了正确做法是只换wp-content并在duplicator部署网站的时候1Panel里把数据库host填成mysql而不是localhost
2026-09-15
多设备Hexo安装Butterfly主题里面博客search.xml过大导致GitHub推送失败的完整解决方案(含交互式清理脚本)
2026-09-14
告别逐个转换用md2pdf一键批量把Markdown变成PDF
2026-09-14
Hexo+Butterfly主题search.xml过大导致GitHub推送失败之完整排查与解决SOP
2026-09-14
用Python批量给Hexo文章自动补齐TDK:DeepSeek驱动、严格YAML、动态备份的完整实践
2026-09-12