Doug Handy
2013-04-17 17:37:56 UTC
I am trying to clarify if I am misunderstanding the intent of the -copyinkf flag, or if what I want to do is not possible without transcoding.
I would like to extract frame accurate subsets from an input movie while still getting the speed advantage of a video stream copy. Normally a video stream copy must start on key frame boundaries, and i understand why. But the documentation includes this subset:
‘-copyinkf[:stream_specifier] (output,per-stream)’
When doing stream copy, copy also non-key frames found at the beginning.
I am not finding much more information about this option at all. Perhaps it is wishful thinking on my part and reading it to mean what I want it to mean, but I was hoping this would mean that when specified and your start location was not on a key frame, that it would generate a proper keyframe from the prior keyframe and intermediate frames up to the desired starting point.
I did find a cvslog message from Jan 2012 which showed a bug with this option:
This option only applies to streamcopy, but is currently processed only
when encoding.
The change log is at https://lists.ffmpeg.org/pipermail/ffmpeg-cvslog/2012-January/045759.html
However, I am not getting it to produce the desired effect. It always subsets on a keyframe boundary. So prior to filing a bug report, I am trying to find out if I just misunderstand the intent of -copyinkf. So the question is:
Should -copyinkf allow me to start a video stream copy on a non-key frame position? If it helps, I can typically copy the video stream only and discard the audio stream.
Thanks
I would like to extract frame accurate subsets from an input movie while still getting the speed advantage of a video stream copy. Normally a video stream copy must start on key frame boundaries, and i understand why. But the documentation includes this subset:
‘-copyinkf[:stream_specifier] (output,per-stream)’
When doing stream copy, copy also non-key frames found at the beginning.
I am not finding much more information about this option at all. Perhaps it is wishful thinking on my part and reading it to mean what I want it to mean, but I was hoping this would mean that when specified and your start location was not on a key frame, that it would generate a proper keyframe from the prior keyframe and intermediate frames up to the desired starting point.
I did find a cvslog message from Jan 2012 which showed a bug with this option:
This option only applies to streamcopy, but is currently processed only
when encoding.
The change log is at https://lists.ffmpeg.org/pipermail/ffmpeg-cvslog/2012-January/045759.html
However, I am not getting it to produce the desired effect. It always subsets on a keyframe boundary. So prior to filing a bug report, I am trying to find out if I just misunderstand the intent of -copyinkf. So the question is:
Should -copyinkf allow me to start a video stream copy on a non-key frame position? If it helps, I can typically copy the video stream only and discard the audio stream.
Thanks