[FFmpeg-trac] #3142(FFserver:open): FFserver ignores encoding params in stream context
FFmpeg
trac at avcodec.org
Fri Nov 29 12:45:49 CET 2013
#3142: FFserver ignores encoding params in stream context
-------------------------------------+------------------------------------
Reporter: importinis | Owner:
Type: defect | Status: open
Priority: important | Component: FFserver
Version: unspecified | Resolution:
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 1
Analyzed by developer: 1 |
-------------------------------------+------------------------------------
Comment (by saste):
Replying to [comment:8 importinis]:
> As you told me: "AFAIK Preroll and StartSendOnKey should be settable
even with -override_ffserver.", now you say that not :)
No, read my previous reply better.
> If you look closely to my previous configs - Preroll and StartSendOnKey
params were set in Stream context, BUT they are IGNORED when in Feed
context I use override_ffserver in ffmpeg command (Launch ffmpeg -i
udp://239.3.3.3:6666 -override_ffserver -vf yadif)!
>
> If I dont use override_ffserver param(all encoding params are set in
Stream context) in ffmpeg command, then Preroll and StartSendOnKey works
great!
Now the problem is, how to reproduce the issue?
Let's start with !StartSendOnKey, which might be easier to test.
This is my ffserver configuration file:
{{{
Port 8090
BindAddress 0.0.0.0
MaxClients 100
MaxBandwidth 60000
CustomLog -
<Feed test>
File test.ffm
Truncate
FileMaxSize 10M
ACL allow localhost
</Feed>
<Stream test1>
Feed test
Format flv
StartSendOnKey
NoAudio
</Stream>
}}}
Then I run the command:
{{{
ffmpeg -re -override_ffserver -f lavfi -i testsrc -flags:v +global_header
-c:v flv -f ffm http://127.0.0.1:8090/test
}}}
Now I read the test stream with ffprobe:
{{{
ffprobe http://localhost:8090/test1 -show_entries
packet=codec_type,flags,pts -of compact -read_intervals "%+#10"
-select_streams v
ffprobe version N-58295-gbb7f3dd Copyright (c) 2007-2013 the FFmpeg
developers
[...]
Input #0, flv, from 'http://localhost:8090/test1':
Metadata:
encoder : Lavf55.21.102
Duration: 00:00:00.00, start: 0.000000, bitrate: N/A
Stream #0:0: Video: flv1, yuv420p, 320x240, 200 kb/s, 25 tbr, 1k tbn,
1k tbc
packet|codec_type=video|pts=0|flags=K
packet|codec_type=video|pts=40|flags=_
packet|codec_type=video|pts=80|flags=_
packet|codec_type=video|pts=120|flags=_
packet|codec_type=video|pts=160|flags=_
packet|codec_type=video|pts=200|flags=_
packet|codec_type=video|pts=240|flags=_
packet|codec_type=video|pts=280|flags=_
packet|codec_type=video|pts=320|flags=_
packet|codec_type=video|pts=360|flags=_
}}}
If I repeat the test with ffprobe, I always get the same result. If I
comment the !SendOnKey option in the ffserver file, then it happens that
the first packet is not a key-frame.
Can you provide a reproducible test-case which fails?
--
Ticket URL: <https://trac.ffmpeg.org/ticket/3142#comment:9>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list