Opened 3 years ago

Closed 3 years ago

#1930 closed defect (duplicate)

FFserver Ignores Video Filter Overlay

Reported by: ramberg2001 Owned by:
Priority: important Component: ffserver
Version: git-master Keywords: regression
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
How to reproduce:

% Input is Axis Camera multicast stream - Logo Overlay Filter works when output is changed to a file instead of FFserver.

./ffmpeg -i rtsp://root:password@192.168.1.5/axis-media/media.amp -vf "movie=/home/webcam/logo/glow.png [logo]; [in][logo] overlay=10:main_h-overlay_h-10 [out]" http://localhost:8090/feed1.ffm

ffserver.conf

Port 8090
# bind to all IPs aliased or not
BindAddress 0.0.0.0
# max number of simultaneous clients
MaxClients 100
# max bandwidth per-client (kb/s)
MaxBandwidth 60000

<Feed feed1.ffm>
        File /var/www/tmp/feed1.ffm
        FileMaxSize 50000M
        ACL allow localhost
</Feed>



# Access log file (uses standard Apache log file format)
# '-' is the standard output.
CustomLog /var/log/ffserver

## FLV output - good for streaming
<Stream water.flv>
      # the source feed
        Feed feed1.ffm
        # the output stream format - FLV = FLash Video
        Format flv
        VideoCodec flv
        # this must match the ffmpeg -r argument
        VideoFrameRate 20
        # generally leave this is a large number
        #VideoBufferSize 260000
        # another quality tweak
        VideoBitRate 100
        # quality ranges - 1-31 (1 = best, 31 = worst)
        VideoQMin 1
        VideoQMax 2
        VideoSize 512x288
        # this sets how many seconds in past to start
        PreRoll 5
        # wecams don't have audio
        NoAudio
</Stream>

ffmpeg version 1.0
built on Nov 12 2012 13:27:20 with gcc 4.4.6 (GCC) 20120305 (Red Hat 4.4.6-4)

Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

Change History (10)

comment:1 Changed 3 years ago by cehoyos

  • Keywords Video Filter Ingored FFserver removed

Do you think this is a regression?

comment:2 follow-up: Changed 3 years ago by ramberg2001

Yes. I have a SVN version on a old server that does work with the video filters and FFserver.

FFmpeg Command:
ffmpeg -vcodec mpeg4 -f rtsp -i http://192.168.1.4/mpeg4/media.amp -y -vsync 2 -s 560x448 -vf "movie=0:png:/home/cameras/logo/glow.png [logo]; [in][logo] overlay=400:400:1 [out]" http://localhost:8090/feed1.ffm

Working Version:
FFmpeg version SVN-r26400, Copyright (c) 2000-2011 the FFmpeg developers

built on Oct 24 2012 12:47:58 with gcc 4.1.2 20070626 (Red Hat 4.1.2-14)
configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-filter=movie --enable-libvorbis --enable-libtheora --enable-libvpx
libavutil 50.36. 0 / 50.36. 0
libavcore 0.16. 1 / 0.16. 1
libavcodec 52.108. 0 / 52.108. 0
libavformat 52.93. 0 / 52.93. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1.74. 0 / 1.74. 0
libswscale 0.12. 0 / 0.12. 0
libpostproc 51. 2. 0 / 51. 2. 0

comment:3 in reply to: ↑ 2 Changed 3 years ago by cehoyos

  • Keywords regression added

Replying to ramberg2001:

Yes. I have a SVN version on a old server that does work with the video filters and FFserver.

If you want to help, please use git bisect to find the change introducing the regression.

But please test current git head first to verify that the problem is still reproducible.

comment:4 follow-up: Changed 3 years ago by ramberg2001

Confirmed. The problem is reproducible with the latest git.

./ffmpeg -f mjpeg -i http://root:password@192.168.1.5/axis-cgi/mjpg/video.cgi -y -vsync 2 -an -vf "movie=0:png:/home/webcam/logo/glow.png [logo]; [in][logo] overlay=360:235:1 [out]" http://localhost:8090/feed1.ffm

ffmpeg version N-46959-gb044e81 Copyright (c) 2000-2012 the FFmpeg developers

built on Nov 20 2012 19:10:34 with gcc 4.4.5 (Debian 4.4.5-8)
configuration: --enable-filter=movie --enable-avfilter
libavutil 52. 8.100 / 52. 8.100
libavcodec 54. 74.100 / 54. 74.100
libavformat 54. 37.100 / 54. 37.100
libavdevice 54. 3.100 / 54. 3.100
libavfilter 3. 23.101 / 3. 23.101
libswscale 2. 1.102 / 2. 1.102
libswresample 0. 17.101 / 0. 17.101

[mjpeg @ 0x2217260] Estimating duration from bitrate, this may be inaccurate
Input #0, mjpeg, from 'http://root:password@192.168.1.5/axis-cgi/mjpg/video.cgi':

Duration: N/A, bitrate: N/A

Stream #0:0: Video: mjpeg, yuvj420p, 800x450 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1200k tbn, 25 tbc

Output #0, ffm, to 'http://localhost:8090/feed1.ffm':

Metadata:

creation_time : now
encoder : Lavf54.37.100
Stream #0:0: Video: flv1 ([2][0][0][0] / 0x0002), yuv420p, 512x288 [SAR 1:1 DAR 16:9], q=1-2, 100 kb/s, 1000k tbn, 25 tbc

Stream mapping:

Stream #0:0 -> #0:0 (mjpeg -> flv)

Press [q] to stop, ? for help
[flv @ 0x222fb80] rc buffer underflow

Last message repeated 130 times

Version 0, edited 3 years ago by ramberg2001 (next)

comment:5 Changed 3 years ago by cehoyos

Then please use git bisect to find the change introducing the problem.

comment:6 in reply to: ↑ 4 Changed 3 years ago by saste

Replying to ramberg2001:

Confirmed. The problem is reproducible with the latest git.

./ffmpeg -f mjpeg -i  http://root:password@192.168.1.5/axis-cgi/mjpg/video.cgi -y -vsync 2 -an -vf "movie=0:png:/home/webcam/logo/glow.png [logo]; [in][logo] overlay=360:235:1 [out]" http://localhost:8090/feed1.ffm

[...]
}}}

This is not valid syntax (movie=0:png:...). Also the issue seems not to make sense, since the way ffmpeg generates the stream should not concern ffserver *at all*. Verify that ffmpeg is generating a video file with the logo, then try to stream it, the video should be exactly the same.

comment:7 follow-up: Changed 3 years ago by ramberg2001

Sorry I pasted the old command used with SVN-r26400. This is the command I used with the latest git and version 1.0 download. I just double checked and overlay works when sent to a file but not as a FFserver flv stream.

./ffmpeg -i rtsp://root:password@192.168.1.5/axis-media/media.amp -an -s 512x288 -vf "movie=/home/webcam/logo/glow.png [logo]; [in][logo] overlay=375:250 [out]" -vsync 2 /var/www/html/test.mpg

I'd like to help with a bisect but I'm a newbie with git. How can reference my old SVN version with the git equivalent?

comment:8 in reply to: ↑ 7 Changed 3 years ago by cehoyos

Replying to ramberg2001:

I'd like to help with a bisect but I'm a newbie with git. How can reference my old SVN version with the git equivalent?

The equivalent for r26400 is ffe9fd2.

comment:9 Changed 3 years ago by saste

Weird but I confirm the issue, namely ffmpeg is ignoring the -vf filterchain when outputting ffm.

comment:10 Changed 3 years ago by cehoyos

  • Resolution set to duplicate
  • Status changed from new to closed
  • Version changed from 1.0 to git-master

More information is in ticket #1970.

Note: See TracTickets for help on using tickets.