首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在FFMPEG中去除/减少mjpeg码流的像素化

如何在FFMPEG中去除/减少mjpeg码流的像素化
EN

Stack Overflow用户
提问于 2017-01-11 01:49:21
回答 2查看 2.7K关注 0票数 1

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

我的ffserver配置示例如下

代码语言:javascript
复制
<Feed test.ffm>
File ./test.ffm
</Feed>

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

以及ffmpeg的输入方式:

代码语言:javascript
复制
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"

生成的视频是非常像素化的,它与真实图像不同。

摄像头配置如下:

代码语言:javascript
复制
Resolution: D1 (704*480)
FrameRate: 3
BitRate: 256k
BitRateType: Variable

我是不是遗漏了什么或者做错了什么?

提前感谢您的帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-26 01:47:02

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

代码语言:javascript
复制
<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>

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

票数 2
EN

Stack Overflow用户

发布于 2017-01-11 02:31:01

我认为问题出在源摄像头流媒体上,在我看来,对于D1分辨率来说,256KB/s是一个很差的比特率。

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41575161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档