用来限定文件分段大小的这个选项
ChatGPT 说从 4.1 版本( 2018 年 11 月发布的)开始有这选项,但是我在官网下载的编译好的没有这个选项啊
然后我就想自己编译,Git clone 源码后,按照 ChatGPT 说的配置添加 segment 支持后编译安装,结果还是没有这个选项
./configure --enable-gpl --enable-libx264 --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libaom --enable-version3 --enable-libfdk-aac --enable-nonfree --enable-muxer=segment
到底 FFmpeg 有没有这个选项???
找个一个还满意的办法:
ffprobe
获取视频的时长(秒):LN/L
即时每个分段的时长(秒):Sffmpeg
切割视频:ffmpeg -i input.mp4 -c copy -f segment -segment_time <S> -reset_timestamps 1 -segment_start_number 1 output%02d.mp4
结果还不错,切割为 300MB 的文件,实际基本是280MB左右。
1
hxy100 2023-04-20 00:42:14 +08:00
mark ,刚准备搜,就在这里看到了答案
|
3
mingl0280 2023-04-20 03:28:23 +08:00 via Android
直接搜了一下, 好像要搭配-g time 指定关键帧间隔。
|
4
NessajCN 2023-04-20 09:05:09 +08:00
|
5
icoming OP @mingl0280 因为我要上传到 TG 备份(限制 2GB ),而不同视频的帧数差别太大,不便根据时长切割,只能根据文件大小切割。
|
7
leaflxh 2023-04-20 10:15:28 +08:00
比较不是那么脱裤子放屁的办法,用 7z 仅存储压缩算法(应该不会进行压缩),然后分卷压缩,可以指定每个分卷的大小
|
8
leaflxh 2023-04-20 10:18:07 +08:00
大概直接切是没有根据大小进行分片的选项 https://ffmpeg.org/ffmpeg-formats.html#toc-Options-16
|
9
leaflxh 2023-04-20 10:19:26 +08:00
重新指定关键帧的话应该会对视频进行二压,可能会降低质量
|
10
zmcity 2023-04-20 15:04:43 +08:00
1. 调用命令先判断一下码流,然后再用时间间隔切。
2. 调 api re-render ,判断写入到文件中的大小,即将超过你大小的时候结束输出当前视频,开始输出下一个视频。 |