realtime flag for http urls

This commit is contained in:
2026-06-14 19:07:58 -07:00
parent 2db133dd1c
commit 0ad0df5612
2 changed files with 5 additions and 4 deletions

View File

@@ -110,7 +110,7 @@ Frame output:
- Maps `0:v:0`
- Disables audio with `-an`
- Applies `fps=<fps>,scale=w='min(<width>,iw)':h=-2:flags=bicubic:out_range=pc,format=yuvj420p`
- Applies `fps=<fps>,scale=w='min(<width>,iw)':h=-2:flags=bicubic:out_range=pc,format=yuvj420p,realtime`
- Encodes `mjpeg`
- Uses `-pix_fmt yuvj420p`, `-color_range pc`, `-q:v <quality>`
- Outputs `image2pipe` to either `pipe:1` or `pipe:3`

View File

@@ -2798,6 +2798,7 @@ function buildFrameArgs(session, inputUrl, inputOptions) {
}
function buildInputArgs(inputUrl, { seekable = true, startTime = 0 } = {}) {
const isHttpInput = isHttpInputUrl(inputUrl);
const args = [
'-hide_banner',
'-nostdin',
@@ -2806,7 +2807,7 @@ function buildInputArgs(inputUrl, { seekable = true, startTime = 0 } = {}) {
'-nostats',
];
if (seekable) {
if (seekable && isHttpInput) {
args.push('-seekable', startTime > 0 ? '1' : FFMPEG_INPUT_SEEKABLE);
}
@@ -2814,7 +2815,7 @@ function buildInputArgs(inputUrl, { seekable = true, startTime = 0 } = {}) {
args.push('-ss', formatFfmpegSeconds(startTime));
}
if (FFMPEG_HTTP_RECONNECT && isHttpInputUrl(inputUrl)) {
if (FFMPEG_HTTP_RECONNECT && isHttpInput) {
args.push(
'-reconnect',
'1',
@@ -2849,7 +2850,7 @@ function formatFfmpegSeconds(seconds) {
function buildFrameOutputArgs(session, outputUrl) {
const { fps, quality, width } = session.options;
const videoFilter = `fps=${fps},scale=w='min(${width},iw)':h=-2:flags=bicubic:out_range=pc,format=yuvj420p`;
const videoFilter = `fps=${fps},scale=w='min(${width},iw)':h=-2:flags=bicubic:out_range=pc,format=yuvj420p,realtime`;
return [
'-an',