首页 > 解决方案 > 使用 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)

ffmpeg 日志

这是我测试的使用 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 专家,我愿意接受任何有助于提高流质量和稳定性的建议 :)

标签: ffmpegraspberry-piraspberry-pi3http-live-streaming

解决方案


推荐阅读