1

我正在为某些 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>

以及 ffmpeg 的喂养方式:

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"

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

相机配置如下:

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

我有什么遗漏或做错了吗?

提前感谢您的帮助

4

2 回答 2

2

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

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

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

于 2017-07-25T17:47:01.863 回答
0

我认为问题出在源相机流上,我认为 256 Kb/s 对于 D1 分辨率来说比特率很差。

如果你能做到并且它不会影响你的网络带宽,你可以尝试将相机比特率提高到 768 或 1024 Kb/s 以查看差异。

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

于 2017-01-10T18:31:00.687 回答