commit f817ef087cc7808cd094eb9b424fe1e376137081
parent 00f91f414dddcde0ef22e4fcdb408d3cbbb579dd
Author: rbckman <rob@tarina.org>
Date: Tue, 15 Apr 2025 21:40:45 +0100
make usb drive fast
Diffstat:
5 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/VERSION b/VERSION
@@ -1,2 +1,2 @@
-2.04
+2.05
Gilliam
diff --git a/extras/formatdrive.sh b/extras/formatdrive.sh
@@ -0,0 +1,2 @@
+sudo mkfs.ext4 -O ^has_journal /dev/sda1
+echo "sudo mount -o noatime,nodiratime,async /dev/sda1 /media/usb0"
diff --git a/extras/setio.sh b/extras/setio.sh
@@ -0,0 +1,3 @@
+echo none | sudo tee /sys/block/sda/queue/scheduler
+echo 20 | sudo tee /proc/sys/vm/dirty_background_ratio
+echo 40 | sudo tee /proc/sys/vm/dirty_ratio
diff --git a/extras/testdrivespeed.sh b/extras/testdrivespeed.sh
@@ -0,0 +1,10 @@
+
+#test latency!
+sudo dd if=/dev/zero of=/media/usb0/test bs=1M count=100 oflag=dsync
+
+echo "good speed should be at < 0.5 s for 100 MB"
+
+#test write speed
+sudo dd if=/dev/zero of=/media/usb0/test bs=4M count=100 status=progress
+
+echo "better speed better quality"
diff --git a/gonzopi.py b/gonzopi.py
@@ -169,10 +169,10 @@ def main():
fps_selected=8
fps_selection=[]
if 'Raspberry Pi 4 Model B' in raspberrypiversion:
- quality = 30
+ quality = 20
bitrate = 8888888
if 'Raspberry Pi 3 Model B' in raspberrypiversion:
- quality = 30
+ quality = 20
bitrate = 1111111
profilelevel='4.2'
headphoneslevel = 40
@@ -5843,7 +5843,7 @@ def usbfilmfolder(dsk):
holdbutton = ''
writemessage('Searching for usb storage device, middlebutton to cancel')
if os.path.exists('/dev/sda1') == True:
- os.system('sudo mount /dev/sda1 /media/usb0')
+ os.system('sudo mount -o noatime,nodiratime,async /dev/sda1 /media/usb0')
os.system('sudo chown pi /media/usb0')
#os.system('sudo umount -l /media/usb0')
waiting = time.time()
@@ -6048,7 +6048,7 @@ def startrecording(camera, takename):
# FFmpeg command to take H.264 input from stdin and output to MP4
ffmpeg_cmd = ['ffmpeg','-i', 'pipe:0', '-fflags', '+genpts+igndts', '-c:v', 'copy', '-movflags', 'frag_keyframe+empty_moov', '-bsf:v', 'dump_extra', '-b:v', str(bitrate), '-level:v', '4.2', '-g', '1', '-r', '25', '-f', 'mp4', takename, '-loglevel','debug', '-y']
rec_process = subprocess.Popen(ffmpeg_cmd, stdin=subprocess.PIPE)
- camera.start_recording(rec_process.stdin, format='h264', level=profilelevel, quality=quality, intra_period=5, bitrate = bitrate)
+ camera.start_recording(rec_process.stdin, format='h264', level=profilelevel, quality=quality, intra_period=1, bitrate = bitrate)
return rec_process
def stoprecording(camera, rec_process):