[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