录制目标文件mp4的长度显示及播放问题
描述 :
- 录制时间超过1分后的视频 最终出来的mp4 点击属性 都会看到 时间不正确 基本是1:04或者1:00 无法显示正确的时间
- pot播放器打开是只能显示1:04 拖到尾部会自己往后播 丢进剪映/qq影音 进度条是正常的 复现概率:
- 基本百分百 已经测试多机器 win10/win11 多主播 录制平台:
- 抖音
猜测原因:ffmpeg 输出格式为 fmp4 但是呢后缀格式是 .mp4 系统不能正确识别
我测出了两个解决方案 1.录制时候为ts格式 2.录制后copy一遍 mp4 ffmpeg -i input.mp4 -c:a copy -c:v copy output.mp4
- 猜测原因:ffmpeg 输出格式为 fmp4 但是呢后缀格式是 .mp4 系统不能正确识别
应该是 fmp4 的原因,但后缀名可能是对的,只不过这种封装格式可能更常见于网页,所以很多播放器没支持?
我现在也在考虑将默认格式换成其他的,但应该会需要牺牲一些录制时播放之类的功能。
- 猜测原因:ffmpeg 输出格式为 fmp4 但是呢后缀格式是 .mp4 系统不能正确识别
应该是 fmp4 的原因,但后缀名可能是对的,只不过这种封装格式可能更常见于网页,所以很多播放器没支持?
我现在也在考虑将默认格式换成其他的,但应该会需要牺牲一些录制时播放之类的功能。
嗯 我提到的这两个方案都可以解决= = 说起来差不多把大佬的代码都读了一遍了 还基于这个自己封装了一个录制的exe 不知道为什么 源码里的pick方法 竟然有3个哈哈
- 猜测原因:ffmpeg 输出格式为 fmp4 但是呢后缀格式是 .mp4 系统不能正确识别
应该是 fmp4 的原因,但后缀名可能是对的,只不过这种封装格式可能更常见于网页,所以很多播放器没支持?
我现在也在考虑将默认格式换成其他的,但应该会需要牺牲一些录制时播放之类的功能。
ts格式其实也不错 市面上大部分其他的录制软件都是ts格式 然后录制结束后转mp4
当然我说的方案2 mp4转mp4 因为是copy的原因 转的速度会更快一点相对来说
源码里的pick方法 竟然有3个哈哈
啊这,我这里看是只有两个,在不同的包里,因为没放到 shared 里去。
ts格式其实也不错 市面上大部分其他的录制软件都是ts格式 然后录制结束后转mp4
等下次修的时候我看看这个。
当然我说的方案2 mp4转mp4 因为是copy的原因 转的速度会更快一点相对来说
我想彻底换了 fmp4 是因为我看它录的好像有时候会音画不同步。
源码里的pick方法 竟然有3个哈哈
啊这,我这里看是只有两个,在不同的包里,因为没放到 shared 里去。
是三个 lodash ramda 还有一个二次封装的 在util里 修改了入参方式 export function pick(object, ...props) { return R.pick(props, object) }
感觉有点乱哈哈
是三个 lodash ramda 还有一个二次封装的 在util里 修改了入参方式 export function pick(object, ...props) { return R.pick(props, object) }
噢,算是历史原因 🤣。
因为一开始只引入了 ramda,然后 R.pick 的类型有问题只能自己实现了下,lodash 是后来引入的。