Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 如何消除/减少FFMPEG中mjpeg流的像素化_Video_Ffmpeg_Rtsp_Ffserver - Fatal编程技术网

Video 如何消除/减少FFMPEG中mjpeg流的像素化

Video 如何消除/减少FFMPEG中mjpeg流的像素化,video,ffmpeg,rtsp,ffserver,Video,Ffmpeg,Rtsp,Ffserver,我正在为一些IP摄像机开发服务器端的重流服务。 我在Linux上使用ffserver提供流服务,在Windows上使用ffmpeg提供源。 我正在使用rtsp获取摄像头视频(H264) 我的ffserver配置示例如下 <Feed test.ffm> File ./test.ffm </Feed> <Stream test.mjpg> Feed test.ffm Format mpjpeg VideoFrameRate 3 VideoSize 704x480

我正在为一些IP摄像机开发服务器端的重流服务。 我在Linux上使用ffserver提供流服务,在Windows上使用ffmpeg提供源。 我正在使用rtsp获取摄像头视频(H264)

我的ffserver配置示例如下

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

<Stream test.mjpg>
Feed test.ffm
Format mpjpeg
VideoFrameRate 3
VideoSize 704x480
NoAudio
FileMaxSize 100k 
VideoHighQuality
</Stream>
生成的视频非常像素化,与真实图像不同

摄像机配置如下:

Resolution: D1 (704*480)
FrameRate: 3
BitRate: 256k
BitRateType: Variable
我有什么遗漏或做错的吗


提前感谢您的帮助

我认为问题在于源摄像机流,在我看来,对于D1分辨率而言,256 Kb/s的比特率很差

如果你能做到这一点,并且不影响你的网络带宽,你可以尝试将摄像机比特率提高到768或1024 Kb/s来查看差异


另外,帧速率3可能是一个小的帧速率。根据您的相机在动态捕获流中捕获的内容(静态图像,如风景或非常动态的图像,如交通道路),10或15帧/秒是更真实的值。

对于任何有相同问题的人来说。我解决了这个问题:

<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>

文件./test.ffm
饲料试验
格式mpjpeg
视频帧率3
视频缓冲区大小80000
视频比特率512
VideoQMin 1
VideoQMax 10
视频大小1280x720
预滚0

流式视频现在与源视频质量相同。

其中一个问题是,我(无论怎样)无法使用摄像头的大量带宽,因为它们使用蜂窝连接进行流式传输。我知道这不是最好的设置,但这些图像(预处理图像和后处理图像)之间的差异是巨大的。我从ffserver得到的那个像是一个网格,我的意思是,我可以清楚地看到一堆我在原来的网格上看不到的正方形。然后,相机的源配置看起来还可以。是否尝试将FileMaxSize增加到另一个高值,如1M?(只是为了检查问题出在哪里)我也试过了。我得到的唯一一件事就是每当你从ffserver请求视频时,都会有一个超延时,直到它赶上实际时间。这对图像质量没有帮助
<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>