想要把mp4无损切片,卡在控制切片时长上了,求教大佬!
我切出来的ts时间不受控制,代码如下
求一个可以无损切片,且可以控制单个ts时长的方法
ffmpeg -y -i A.mp4 -codec:v copy -map 0 -f ssegment -segment_format mpegts -segment_list playlist.m3u8 -segment_time 5 A.ts”
热议
2楼 simonw 11小时前
没看懂
单个ts的时长不严格匹配并不影响食用
3楼 1988doudou 11小时前
没看懂
单个ts的时长不严格匹配并不影响食用
就是想可以控制单个ts时长的情况下无损切片
4楼 acpp 9小时前
就是想可以控制单个ts时长的情况下无损切片
如果正常用途这样做没意义,按帧自动再根据m3u8肯定是最合适。
5楼 chxin 6小时前
就是想可以控制单个ts时长的情况下无损切片
无法控制单个ts的时长,要么只能按时间切成一段一段的在转成ts
6楼 小号专用马甲 5小时前
https://blog.51cto.com/fengyuzaitu/2523810
解决方案
ffmpeg -i test.mp4 -force_key_frames "expr:gte(t,n_forced*1)" -strict -2 -c:a aac -c:v libx264 -hls_time 1 -f hls index.m3u8
指令说明
-force_key_frames "expr:gte(t,n_forced*1)" 设置关键帧间隔,设置间隔为2秒的参数如下:-force_key_frames "expr:gte(t,n_forced*2)"
引申
GOP大小选项g是确保关键帧的位置,例如另一种方法-g 2每2帧强制一个关键帧 ffmpeg -i 1.mkv -g 2 testgop.mp4
g是以帧为单位进行测量,expr中的值以秒为单位进行测量
-----------------------------------
©著作权归作者所有:来自51CTO博客作者fengyuzaitu的原创作品,请联系作者获取转载授权,否则将追究法律责任
FFmpeg hls设置hls_time切片时间不准确的解决方案
https://blog.51cto.com/fengyuzaitu/2523810
7楼 1988doudou 1小时前
如果正常用途这样做没意义,按帧自动再根据m3u8肯定是最合适。
如果不加以控制在网络不佳的情况下会造成严重的卡顿影响播放
8楼 1988doudou 1小时前
无法控制单个ts的时长,要么只能按时间切成一段一段的在转成ts
要怎么按时间切成一段一段的呀?能给个命令吗
9楼 1988doudou 1小时前
https://blog.51cto.com/fengyuzaitu/2523810
使用-c:v libx264之后码率会降低一半
10楼 chxin 半小时前
要怎么按时间切成一段一段的呀?能给个命令吗
-ss 00:00:00 -t 00:05:00
写个脚本批量切割,然后再写个脚本转成ts,最后用一个脚本合并为m3u8
12楼 大鸡鸡 半小时前
搜索:关键帧
13楼 1988doudou 半小时前
搜索:关键帧
用楼上的关键帧切片要设置-c:v libx264会造成码率下降,如果设置-c:v copy的话则时长无法控制
申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。
评论前必须登录!
立即登录 注册