全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1125|回复: 12
打印 上一主题 下一主题

有没有懂ffmpeg切片的大佬

[复制链接]
跳转到指定楼层
1#
发表于 4 天前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近切片的时候,偶尔会遇到生成的m3u8文件里最后一行没有#EXT-X-ENDLIST,这就导致了点击播放的时候会从默认的倒数第三个切片文件开始播放,并不会从第一个切片开始播放。同时还会生成一个xxx.m3u8.tmp的临时文件,这个文件就是正常的m3u8文件。

关键在于,这是偶尔会出现的问题,而且同一个视频文件用同一段代码切片,可能会出现这个问题,也可能不出现这个问题。

这该怎么办?
2#
发表于 4 天前 来自手机 | 只看该作者
加个中间件,检测倒数第二行,没有endlist就强制添加
3#
 楼主| 发表于 4 天前 | 只看该作者
jekyll 发表于 2024-6-27 13:54
加个中间件,检测倒数第二行,没有endlist就强制添加

实际上会生成1个xxx.m3u8文件和1个xxx.m3u8.tmp文件,xxx.m3u8这个文件不仅没有EXT-X-ENDLIST,而且还会缺失一部分.ts文件。

xxx.m3u8.tmp这个文件内容就是正确的,如果把xxx.m3u8删除,再把xxx.m3u8.tmp改成xxx.m3u8就没问题了。

可是这也得手动操作,有点麻烦
4#
发表于 4 天前 | 只看该作者
M100700 发表于 2024-6-27 14:52
实际上会生成1个xxx.m3u8文件和1个xxx.m3u8.tmp文件,xxx.m3u8这个文件不仅没有EXT-X-ENDLIST,而且还会 ...

脚本后面补一行mv命令就好了呀
5#
发表于 4 天前 | 只看该作者
M100700 发表于 2024-6-27 14:52
实际上会生成1个xxx.m3u8文件和1个xxx.m3u8.tmp文件,xxx.m3u8这个文件不仅没有EXT-X-ENDLIST,而且还会 ...

根本原因是切片进程异常终止,journalctl -r -n 100 看一下有没有报错,什么原因导致的。
6#
 楼主| 发表于 4 天前 | 只看该作者
严丹 发表于 2024-6-27 15:01
脚本后面补一行mv命令就好了呀

主要它是偶尔出现,我都怀疑是不是ffmpeg有bug了。

你是说在切片脚本里判断下有没有xxx.m3u8.tmp这个文件存在,如果有就删除xxx.m3u8然后改名xxx.m3u8.tmp?
7#
 楼主| 发表于 4 天前 | 只看该作者
jekyll 发表于 2024-6-27 15:06
根本原因是切片进程异常终止,journalctl -r -n 100 看一下有没有报错,什么原因导致的。 ...

额,,我是在windows上切的,

看起来切片是完成了的,就是生成playlist.m3u8那里出了点问题,临时文件.m3u8.tmp生成了且数据正确,但是按理说应该删除临时文件,并且把临时文件内容复制到正式文件.m3u8,结果却是临时文件没删除,正式文件不完整
8#
发表于 3 天前 | 只看该作者
我觉得你能成大事
9#
发表于 3 天前 | 只看该作者
本帖最后由 bihui 于 2024-6-28 13:46 编辑

你的切片语句是啥

ffmpeg -i input.mp4 -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls playlist.m3u8
10#
 楼主| 发表于 前天 14:13 | 只看该作者
bihui 发表于 2024-6-28 13:44
你的切片语句是啥

ffmpeg -i input.mp4 -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f  ...

我的和你这个不一样。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-7-1 09:21 , Processed in 0.065796 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表