ffmpeg - 使用 ffmpeg 和 raspi 相机的低 FPS 输出
问题描述
我正在为一个学校项目构建一个监控摄像头,它基于树莓派和红外树莓派摄像头。
我正在捕获相机的视频流并将其作为 HLS 流直接从 ffmpeg 输出。但是,生成的视频的 fps 非常低(最大约为 5)
奇怪的是,raspivid 可以毫无问题地输出 60fps 720p 流,但是当通过 ffmpeg 进行流式传输时,视频被裁剪成两半,我无法让它完全显示出来。
这是我使用的 ffmpeg 命令:
#!/bin/bash
ffmpeg -v verbose \
-re \
-i /dev/video0 \
-c:v libx264 \
-an \
-f hls \
-g 10 \
-sc_threshold 0 \
-hls_time 1 \
-hls_list_size 4 \
-hls_delete_threshold 1 \
-hls_flags delete_segments \
-hls_start_number_source datetime \
-hls_wrap 15 \
-preset superfast \
-start_number 1 \
/home/pi/serv/assets/stream.m3u8
以及生成的日志输出(注意 fps)
这是我测试的使用 raspivid 的命令,基于我阅读的博客文章:
raspivid -n \
-t 0 \
-w 960 \
-h 540 \
-fps 25 \
-o - | ffmpeg \
-v verbose \
-i - \
-vcodec copy \
-an \
-f hls \
-g 10 \
-sc_threshold 0 \
-hls_time 1 \
-hls_list_size 4 \
-hls_delete_threshold 1 \
-hls_flags delete_segments \
-hls_start_number_source datetime \
-hls_wrap 15 \
-preset superfast \
-start_number 1 \
/home/pi/serv/assets/stream.m3u8
我不是 ffmpeg 专家,我愿意接受任何有助于提高流质量和稳定性的建议 :)
解决方案
推荐阅读
- c++11 - 'voiture' 没有在 'for' 之前命名类型和预期的主表达式
- javascript - 在掷骰子游戏中输出得分结果的问题
- prolog - 如何在 Prolog 中返回推荐列表?
- reactjs - 情感:在“className”道具中同时使用一个类和“css”方法
- google-app-engine - 将 go delve 与谷歌应用引擎标准和 dev_appserver.py 一起使用
- google-bigquery - BigQuery:处理频繁架构更改的最佳方式?
- powershell - 仅在没有错误时显示消息
- python - 自动将动态值转化为形式
- python - Python 3.7 - 如何在分钟内使用 datetime.now().strftime() 执行具有开始和停止时间的循环?
- arrays - 如何使用 Chart.js 和 ng2-charts 构建一些图表,使用每月日期的收入和预算数组作为数据源?