videoffmpegrtspffserver

How to remove/reduce pixelation of mjpeg stream in FFMPEG


I'm working on a server side re-streaming service for some IP Cameras. I'm using ffserver on Linux to serve the streams and ffmpeg on Windows to feed. I'm getting the cameras video (H264) using rtsp.

My ffserver config example is as follows

<Feed test.ffm>
File ./test.ffm
</Feed>

<Stream test.mjpg>
Feed test.ffm
Format mpjpeg
VideoFrameRate 3
VideoSize 704x480
NoAudio
FileMaxSize 100k 
VideoHighQuality
</Stream>

and the way ffmpeg is feeding:

ffmpeg -rtsp_transport tcp -i "rtsp://admin:admin@192.168.1.12:554/cam/realmonitor?channel=1&subtype=0" -vcodec copy -acodec copy "http://192.168.1.101:8090/test.ffm"

Resulting video is Very pixelated and it differs from the real image.

Cameras' configuration are as follows:

Resolution: D1 (704*480)
FrameRate: 3
BitRate: 256k
BitRateType: Variable

Is there anything i'm missing or doing wrong?

Thanks in advance for any help


Solution

  • For anyone out there having the same issue. I solved with this:

    <Feed test.ffm>
    File ./test.ffm
    </Feed>
    
    <Stream test.mjpg>
    Feed test.ffm
    Format mpjpeg
    VideoFrameRate 3
    VideoBufferSize 80000
    VideoBitRate 512
    VideoQMin 1
    VideoQMax 10
    VideoSize 1280x720
    PreRoll 0
    </Stream>
    

    Streamed video is now the same quality as the source.