私は同時に私のUSBウェブカメラからビデオを(ストリーム経由で)(rtmpを介して)放送し、保存する必要があります。ウェブカメラは、ハードウェアh.264エンコーダを備えたLogitech c920です。avconv同時にストリームusbウェブカメラからディスクにビデオを保存
私はメディアを再エンコードしたくないので、私は-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"
このメソッド「作品」 - それは、それがコンテンツをストリーミングし、それをディスクに保存することができることを意味しますが、この方法の問題点は、ファイルのビデオはに依存しているということですストリーム。たとえば、インターネット接続が遅すぎる場合、保存されたファイルのFPSは低くなります。インターネット接続が中断された場合、ビデオファイルの「録画」は停止されます。
誰でもこの2つのストリームを独立させることができますか?
raspberrypi 3ではすべてのことが起こっているため、計算能力は非常に限られています。
ありがとう、それはかなり安定しているようですが、YouTubeは私のキーフレームの間隔を10秒に警告します。それを短くする方法はありますか?私はこのトピックを読んだ:[リンク](https://github.com/raspberrypi/linux/issues/593) しかし、h264_i_frame_periodコントロールが私の中にありません。複雑なyhingはguvcviewを使ってiframeインターバルを設定できるということですが、この設定は現在のguvcviewインスタンスにのみ適用されるようです。 – BojowyZajaczek
これはエンコーダ固有の設定です.nginxはビデオをトランスコードしません。 – bukkojot
これはnginxによって制御されていないことを知っています。他の質問をすることを頼む/気にしないでください。誰かがエンコーダのキーフレーム間隔を100フレームに設定する方法を知っているのでしょうか? – BojowyZajaczek