快速视频流编码器

快速视频流编码器

这不是特定的 ubuntu/linux 问题,但我希望有人可以帮助我。

我正在做一些视频流服务器其中上电脑运行缓慢(CPU 1GHz,GPU 不好(通过))。有人知道我应该使用哪个编解码器吗?

源是 720x576 YUV (PAL),太大,无法直接流式传输(占用了所有 100Mbit LAN 带宽)。我想得到流 caa 200kB/s因此它也适用于互联网。

答案1

我找到了运行良好的解决方案。

此解决方案使用 VLC 进行所有工作。视频从 USB 网络摄像头捕获,压缩并传送到网络。Stream 与 HTML 5 兼容,因此可用于流式传输。

该解决方案使用 VLC 执行整个过程:

vlc -v v4l2:///dev/video0:width=320:height=240 --v4l2-chroma=UYVY --v4l2-fps=5 --sout "#transcode{vcodec=theo,vb=256,scale=1,acodec=none,fps=25}:standard{access=http,mux=ogg,dst=:8081/stream.ogg}"

我使用 Intel Atom D525 进行了测试。CPU 使用率约为 20%,网络传输为 60kB/s

要播放视频,您只需打开支持 html5 ogg(Firefox)的浏览器,地址为:

  • http://localhost:8081/stream.ogg

或另一个 VLC

  • vlc http://localhost:8081/stream.ogg ----network-caching=100

如果你希望获得更好的图像,你可以改变

  • vb=1024只需做一些测试。(每秒比特(不是字节))
  • width=640:height=480. 检查网络摄像头的可用分辨率

如果您的 CPU 过高,您需要检查很多东西。您的相机需要原生支持所选的分辨率和色彩空间。任何 CPU 上的转换都很慢!尝试选择其他--v4l2-chroma=UYVY(UYVY、YUY2、RV24、RV32、MJPEG 等)。

要检查相机的功能,您可以使用程序guvcview。它可以通过软件中心安装。

相关内容