Hi,
Ich bräuchte nochmal Hilfe zu meinem Projekt...
Habe jetzt folgenden code:
ZitatAlles anzeigen
#!/bin/bash
VIDEODIR="/home/pi/security-camera"
VIDEOFILELENGTH=600000 # in miliseconds (default 10 min)
VIDEOBITRATE=6000000
VIDEOFPS=4
VIDEORASPIVIDPARAM=""while [ true ]
do
# Start recording
DATE=$(date +"%Y-%m-%d-%H-%M")
VIDEOFILE=$VIDEODIR"/video/"$DATE.h264
screen -S VideoRecord -X quit > /dev/null 2>&1
sleep 1
screen -dmS VideoRecord raspivid -b $VIDEOBITRATE -o $VIDEOFILE -t $(expr $VIDEOFILELENGTH + 600) -fps $VIDEOFPS -n $VIDEORASPIVIDPARAM# Start h264 to mp4 converting
screen -ls | grep VideoConverting | cut -d. -f1 | awk '{print $1}' | xargs kill > /dev/null 2>&1
CONVERTABLEFILESIcon_frown`echo $(ls $VIDEODIR/video | grep .h264) | tr "," "\n"`)
for FILE in "${CONVERTABLEFILES[@]}"
do
VIDEOFILEH264=$VIDEODIR"/video/"$FILE
VIDEOFILEMP4=$VIDEODIR"/video/mp4/"${FILE/.h264/.mp4}
echo $VIDEOFILEH264" to "$VIDEOFILEMP4
screen -dmS VideoConverting MP4Box -fps $VIDEOFPS -add $VIDEOFILEH264 $VIDEOFILEMP4
done# Removing converted files sources
for FILE in "${CONVERTABLEFILES[@]}"
do
VIDEOFILEH264=$VIDEODIR"/video/"$FILE
VIDEOFILEMP4=$VIDEODIR"/video/mp4/"${FILE/.h264/.mp4}
if [[ -f $VIDEOFILEH264 && -f $VIDEOFILEMP4 ]]
then
echo "REMOVE "$VIDEOFILEH264
rm $VIDEOFILEH264
fi
done# Sleep a little bit
sleep $(expr $VIDEOFILELENGTH / 1000)
done
Jetzt würde ich noch gerne alle 2 Minuten ein Frame direkt aus dem Video ziehen.. Also direkt aus dem aufgenommenen h264 am besten damit der screenshot immer möglichst up to date ist. Kann man das irgendwie so lösen?
Zitat
ffmpeg -an -ss 0:0:2 -t 0:0:0.001 -i input.mp4 -f image2 -s 110x90 thumb%d.jpg
schonmal vielen dank !