我需要同时播放/播放(通过rtmp)并从我的USB网络摄像头保存视频(带音频)。网络摄像头是Logitech c920,它有硬件h.264编码器。
我不想重新编码媒体,所以我使用-c:v copy
选项。
整个脚本如下所示:
#! /bin/bash
SOURCEV="/dev/video0"
SOURCEA="hw:1"
FILE_TO_SAVE="Archive/file_to_save.mp4"
YOUTUBE_URL="rtmp://x.rtmp.youtube.com/live2"
KEY="my-secret-key"
avconv -f alsa -ac 2 -r 44100 -i $SOURCEA \
-s 1920x1080 -r 24 -c:v h264 -i "$SOURCEV" \
-ar "44100" -r:v 24 -c:a aac -c:v copy -s 1920x1080 -f mp4 "$FILE_TO_SAVE" \
-g $FPS*4 -ar "44100" -b:a "128k" -ac 2 -r 24 -c:a aac -c:v copy -s 1920x1080 -f flv "$YOUTUBE_URL/$KEY"
此方法“有效” - 这意味着'它可以流内容并将其保存到磁盘,但此方法的问题是文件视频依赖于流。例如,如果Internet连接速度太慢,则保存的文件将具有较低的FPS。如果Internet连接中断,则视频文件的“录制”将停止。
任何人都可以帮助我让这两个流独立吗?
Rasberrypi 3上发生了一切事情,因此计算能力非常有限。
答案 0 :(得分:1)
尝试在本地安装nginx + nginx-rtmp并流式传输到它。在服务器启用选项中保存到本地文件。并启动其他脚本重新流式传输到youtube。