
When you leave out -c copy, ffmpeg will re-encode the video with whatever encoder ( mpeg4, libx264. Those will get a negative timestamp, so they shouldn't be shown. In some cases (simply put, when the starting time does not correspond to an I-frame), ffmpeg needs to include some more frames that are needed to properly decode the first frame to be displayed.
/Main2-948df23359ac4bca9421e1506b8e9247.png)
In other words, it will take the frames as-is and copy them to the output file. When specifying -c copy, ffmpeg will cut the video without modifying the actual bitstream. Here's the important difference between the commands that you ran: There have been some major changes a while ago which affect how stream cutting works. Make sure that you are using a recent version of ffmpeg by downloading a static build, for example. However, with this method, the quality of my output video is significantly lower than the input video, or the output video from the previous methods.

I thout i found my solution with the command i used, but then this problem occuredĮDIT: I figured out that if i don't use the -c copy flag, then i do not have the black frames: ffmpeg -i input.avi -ss 00:06:30 -to 00:07:15 output.avi Here are some other command formats i tried and did NOT work: ffmpeg -ss 00:01:00 -i video.mp4 -to 00:02:00 -c copy cut.mp4įfmpeg -ss 00:01:00 -i video.mp4 -to 00:02:00 -c copy -copyts cut.mp4 Meaning, no matter how many times i did this for my second video, in all outputs, the output video will be blank for the first 4 seconds!

The funny thing is that when i used the same command, exactly the same amount of black frame exists for the same video. In one video i tried, this went on for one second, in another, the black frames lasted 4 seconds. Unfortunately this leaves some black frames in the beginning of my output video, so i lose certain parts of the video.

The format i use is this: ffmpeg -i input.avi -ss 00:06:30 -to 00:07:15 -c copy output.avi
