- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有 OV5647 摄像头模块的 Raspberry Pi,我用它来流式传输视频。
raspivid
采用名为 --mode, -md
的命令行参数,它提供了相机可以设置使用的几种模式。
Mode Size AR Frame rates FOV Binning
0 automatic
selection
1 1920x1080 16:9 1-30fps Partial None
2 2592x1944 4:3 1-15fps Full None
3 2592x1944 4:3 0.1666-1fps Full None
4 1296x972 4:3 1-42fps Full 2x2
5 1296x730 16:9 1-49fps Full 2x2
6 640x480 4:3 42.1-60fps Full 2x2 plus skip
7 640x480 4:3 60.1-90fps Full 2x2 plus skip
我宁愿拥有低帧率和良好的图像质量,而不是高 FPS。
对于高质量的视频,我想以全高清 1920x1080 流式传输,但相机的模式 1
只提供部分 FOV,这大大减少了拍摄区域,我真的需要完整的视野。
我想选择模式 2
,这样我就可以以 15 FPS 的速度流式传输全高清缩小视频。
但我不得不使用模式 4
,因为它给我的帧率为 25 FPS。
问题如下:
raspivid -o - \
-t 0 \
-n \
-hf -vf \
-g 25 \
-pf high \
-md 4 \
-fps 25 \
-b 10000000 \
| cvlc -vvv \
stream:///dev/stdin \
--no-audio \
--sout '#standard{access=http,mux=ts,dst=:8090}' \
:demux=h264
这个命令有效。它将相机设置为模式 4
,使用 25
的 fps 并将视频传输到 clvc
。
当我将模式设置为 2
并将 fps 降低到 15
时,这不再起作用。
出于某种原因,cvlc
似乎期望帧率为 25,并记录了很多警告
[73b02cf8] main mux warning: late buffer for mux input (17958)
[73b02cf8] main mux warning: late buffer for mux input (2025)
[73b02cf8] main mux warning: late buffer for mux input (14107)
[73b02cf8] main mux warning: late buffer for mux input (2890)
[73b02cf8] main mux warning: late buffer for mux input (20115)
开头还有一条信息性消息声称
[73b12410] main decoder debug: using packetizer module "h264"
[73e00568] main input debug: switching to sync mode
[73b088b8] h26x demux debug: using 25.00 fps
所以我假设我收到了那些 late buffer
警告,因为 raspivid 发送的帧数很少,而且它没有足够的数据供编码器使用。视频大约每 10 秒卡住一次,这真的让它无法使用。当它移动时,它会加速。
我如何告诉 h264 编码器它应该以 15 FPS 输入输出而不是 25 FPS 工作?
最佳答案
您可以通过将 --h264-fps=15
添加到 cvlc
来实现。
raspivid -o - \
-t 0 \
-n \
-hf -vf \
-g 15 \
-pf high \
-md 2 \
-fps 15 \
-br 55 \
-ISO 800 \
-ae 32,0x00,0x8080FF \
-a 4 \
-a "%Y-%m-%d %X" \
-b 10000000 \
| cvlc -vvv \
stream:///dev/stdin \
--no-audio \
--demux=h264 \
--h264-fps=15 \
--sout '#standard{access=http,mux=ts,dst=:8090}'
在 Raspberry Pi Zero 上,您必须将 force_turbo=1
添加到 \boot\config.txt
,但不要设置 over_voltage
和 arm_freq
因为那样会使保修失效。如果没有 force_turbo=1
,设备将在流式传输几个小时后卡住。
关于video-streaming - 将 raspivid 和 cvlc 与低帧率和全 FOV 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53280550/
我使用 QBFC v13 和 Delphi XE6。 目标是从我的应用程序创建 Estimate 并将其参数设置到 QuickBooks 中。 我从 QBFC13 导入类型库并将其添加到我的项目中。
我有一个数据库,其中有很多格式不正确的地址。在这个地址中,我只有一个街道地址或带有城市名称的街道。在我的应用程序中,用户选择一些类别,然后我想在 map 上显示例如 50,100,300 等地址。(不
在大多数软件项目中,缺陷源自需求、设计、编码和缺陷更正。根据我的经验,大多数缺陷都源于编码阶段。 我有兴趣了解软件开发人员使用哪些实用方法来降低缺陷注入(inject)率。 我已经看到以下方法的使用取
我正在使用实时 API 中的标签订阅构建一个应用程序,并且有一个与容量规划相关的问题。我们可能有大量用户同时发布到订阅的主题标签,因此问题是 API 实际发布到我们的订阅处理端点的频率是多少?例如,如
尝试使用 NULLIF 或 IFNULL 函数,但仍收到被零除的消息。 SELECT client_id ,COUNT(distinct CASE WHEN status = 'failed' THE
我目前正在开发一个使用 Django-rest-framework 制作的 API。我必须根据每个用户组设置限制率。 我们目前使用默认配置的 memcached 作为缓存后端,即按站点缓存。 在使用
我认为有时在神经网络(特别是一般对抗网络)训练期间改变丢失率可能是一个好主意,从高丢失率开始,然后线性地将丢失率降低到零。您认为这有意义吗?如果是的话,是否有可能在 tensorflow 中实现这一点
我有一个 Windows Server 2008,Plesk 运行着两个网站。有时服务器运行缓慢,并且有一个 named.exe 进程使 CPU 峰值达到 100%。它持续很短的时间,过一会儿它又来了
我正在使用 scikit-learn 随机森林分类器,我想通过将成功投票所需的树数量从大于 50% 增加到 75% 来降低 FP 率,在阅读文档后我不这样做确定如何做到这一点。有没有人有什么建议。 (
当我连续按下按键事件(字母 k)时,为什么以下按键事件不会减慢 3000 密耳?如果我按住手指,计数会迅速增加,因为 mcount 上没有 setTimeout。这是为什么?每次计数之间应该有延迟,但
我是一名优秀的程序员,十分优秀!