Ich muss gleichzeitig streamen/broadcast (über RTMP) und speichern Video (mit Audio) von meiner USB-Webcam. Die Webcam ist Logitech c920, die Hardware-h.264-Encoder haben.avconv gleichzeitig streamen von USB-Webcam und speichern Sie Video auf der Festplatte
Ich möchte das Medium nicht neu codieren, daher verwende ich die Option -c:v copy
.
Das ganze Skript sieht wie folgt:
#! /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"
Diese Methode „funktioniert“ - es bedeutet es Inhalte streamen und auf der Festplatte speichern, aber das Problem mit dieser Methode ist, dass Videodatei auf die stützt Strom. Wenn die Internetverbindung beispielsweise zu langsam ist, hat die gespeicherte Datei einen niedrigen FPS. Wenn die Internetverbindung unterbrochen wird, wird die "Aufnahme" der Videodatei gestoppt.
Kann jemand mir helfen, diese zwei Ströme unabhängig zu machen?
Die ganze Sache passiert auf raspberrypi 3, so dass die Rechenleistung stark begrenzt ist.
Danke, es scheint ziemlich stabil zu funktionieren, aber Youtube warnt mich jetzt vor meinem Keyframe-Intervall, das 10 Sek. Ist. Gibt es eine Möglichkeit, es zu verkürzen? Ich habe dieses Thema gelesen: [link] (https://github.com/raspberrypi/linux/issues/593) Aber die h264_i_frame_period Kontrolle fehlt in meinem. Das schwierige yhing ist, dass ich den iframe intervel mit guvcview einstellen kann, aber diese Einstellung scheint nur für die aktuelle guvcview-Instanz zu gelten, – BojowyZajaczek
Das sind Encoder-spezifische Einstellungen, nginx transkodiert kein Video. – bukkojot
Ich weiß, dass dies nicht von nginx gesteuert wird. Ich wollte einfach keine andere Frage stellen. Vielleicht kann jemand das Encoder-Keyframe-Intervall auf 100 Frames setzen? – BojowyZajaczek