This problem has been asked and asked, I know, but I have tested, searched tried and tried and have not found an answer or a fix. It is somewhat complicated to explain because of all the testing but i think it might be easier if I give all the information i have first.
Essentially, I have a video, (closed GOP, 30 FPS, .033367 frame duration, I-frame every 250 Frames) that has no great scene change differences but has constant movement to easily determine start frame number copied/played. I have the I-Frame locations, to the microsecond from ffprobe, so not wanting to throw a bunch of number here I will refer to them as Point A, B, C, and D.
For testing purposes of cutting and remerging, I-Frame to I-Frame, I am trying to cut from B to C but not including the C I-Frame. I am using Point B as my start point (05:27.127127, 327.127127 < FFPROBE), Using -SS as an input option which resets PTS time to 0. Because of this reset to PTS Time, I limit the -t (-to) time to 8.+ for the frame before point C (05:35.308308, 8.308308)
This produces what FFPROBE says is 251 Frames I-Frame B thru I-Frame C.Code:'FFMPEG -ss B -i video.mp4 -t 8.308308 -c copy Out_Video.mp4'
Backing up another frame (2 Frames before point C. (8.274942)
This produces what FFProbe says is 250 Frames, Point B up to Point C but not including it which is what I wish. Everything looks right and is 8.+ seconds long, plays for 8 seconds.Code:'FFMPEG -ss B -i video.mp4 -t 8.274942 -c copy Out_Video.mp4'
The problem is that Explorer says both created videos are 16 seconds long and The track information (under tkhd) in the MP4 also says is is 16 seconds long. but ffprobe does not show this. If I merge the video with itself, since they are starting with I frames and ending in P frames(closed GOP), this should work. What I get is a video that is 32 seconds long and includes A to C twice. Somehow A to B is now visible.
No amount of changing the -ss or -t (-to either) achieves an 8 second, playable video. The only method that works is if I use -SS as an output option and -vframes as the duration. This works but a separate operation must be performed on the resulting video before joining, since its DTS starts at the cut point not 0.
Is this a known bug that I have not found in my searching or am I doing something wrong?
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 1 to 3 of 3
Thread
-
-
FFmpeg is not developed here. But you can search the bug tracker at https://trac.ffmpeg.org/.
-
Ok. Thx i thought maybe someone knew of an existing bug or something in my procedure thet saw was wrong. Ill check the tracker thx.
Similar Threads
-
Cannot cut at I frame with FFMPEG
By Budman1 in forum EditingReplies: 11Last Post: 30th Apr 2018, 07:15 -
FFMPEG: how to extract audio from a specific timecode point?
By marcorocchini in forum Newbie / General discussionsReplies: 8Last Post: 2nd Jul 2017, 11:38 -
sending cctv camera stream to remote site connected by point to point radio
By nadiel in forum Newbie / General discussionsReplies: 0Last Post: 11th Oct 2015, 13:22 -
Can ffmpeg use frame numbers to cut a video?
By yetanotherlogin in forum EditingReplies: 4Last Post: 26th Jan 2015, 05:12 -
How to cut video with ffmpeg with the same quality without reencoding
By alexander121 in forum EditingReplies: 6Last Post: 8th Dec 2014, 02:36