Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
575 views
in Technique[技术] by (71.8m points)

How to fragment an mp4 file using ffmpeg.

How to fragment an mp4 file using ffmpeg.I have followed this command "How to output fragmented mp4 with ffmpeg?" but it almost doubles the file size. Is there any other way ?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I think you get a higher file size because you reencode it with higher bitrates than the input file.

In the linked answer, you can modify the settings for -ab and -vb:

ffmpeg -i infile.ext -g 52 
-strict experimental -acodec aac -ab 64k -vcodec libx264 -vb 448k 
-f mp4 -movflags frag_keyframe+empty_moov 
output.mp4

(Hint: Do not user -re if not necessary)

If you don't have the bitrates from the input file, use ffprobe to get it for all streams:

ffprobe -i input.mp4

(look for Stream#0:0, Stream#0:1 and so on and if it is Audio or Video)

Not tested: You can also try to copy the streams:

ffmpeg -i input.mp4 -g 52 
-strict experimental -c copy 
-f mp4 -movflags frag_keyframe+empty_moov 
output.mp4

(only works with mp4 input?!)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...