Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
fa677750
Commit
fa677750
authored
Apr 20, 2019
by
Gyan Doshi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
doc/ffmpeg: document value source for -force_key_frames
Also clarify behaviour in case of specified timestamps
parent
c3a17fff
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
5 deletions
+23
-5
ffmpeg.texi
doc/ffmpeg.texi
+23
-5
No files found.
doc/ffmpeg.texi
View file @
fa677750
...
...
@@ -879,12 +879,19 @@ Deprecated see -bsf
@item -force
_
key
_
frames[:@var
{
stream
_
specifier
}
] @var
{
time
}
[,@var
{
time
}
...] (@emph
{
output,per-stream
}
)
@item -force
_
key
_
frames[:@var
{
stream
_
specifier
}
] expr:@var
{
expr
}
(@emph
{
output,per-stream
}
)
Force key frames at the specified timestamps, more precisely at the first
frames after each specified time.
@item -force
_
key
_
frames[:@var
{
stream
_
specifier
}
] source (@emph
{
output,per-stream
}
)
If the argument is prefixed with @code
{
expr:
}
, the string @var
{
expr
}
is interpreted like an expression and is evaluated for each frame. A
key frame is forced in case the evaluation is non-zero.
@var
{
force
_
key
_
frames
}
can take arguments of the following form:
@table @option
@item @var
{
time
}
[,@var
{
time
}
...]
If the argument consists of timestamps, ffmpeg will round the specified times to the nearest
output timestamp as per the encoder time base and force a keyframe at the first frame having
timestamp equal or greater than the computed timestamp. Note that if the encoder time base is too
coarse, then the keyframes may be forced on frames with timestamps lower than the specified time.
The default encoder time base is the inverse of the output framerate but may be set otherwise
via @code
{
-enc
_
time
_
base
}
.
If one of the times is "@code
{
chapters
}
[@var
{
delta
}
]", it is expanded into
the time of the beginning of all chapters in the file, shifted by
...
...
@@ -898,6 +905,11 @@ before the beginning of every chapter:
-force
_
key
_
frames 0:05:00,chapters-0.1
@end example
@item expr:@var
{
expr
}
If the argument is prefixed with @code
{
expr:
}
, the string @var
{
expr
}
is interpreted like an expression and is evaluated for each frame. A
key frame is forced in case the evaluation is non-zero.
The expression in @var
{
expr
}
can contain the following constants:
@table @option
@item n
...
...
@@ -925,6 +937,12 @@ starting from second 13:
-force
_
key
_
frames expr:if(isnan(prev
_
forced
_
t),gte(t,13),gte(t,prev
_
forced
_
t+5))
@end example
@item source
If the argument is @code
{
source
}
, ffmpeg will force a key frame if
the current frame being encoded is marked as a key frame in its source.
@end table
Note that forcing too many keyframes is very harmful for the lookahead
algorithms of certain encoders: using fixed-GOP options or similar
would be more efficient.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment