[Support]: Clips are cut short
See original GitHub issueDescribe the problem you are having
Many (80%+) clips don’t run for their full time and stop short with an error message of
The media playback was aborted due to a corruption problem or because the media used features your browser did not support.
Version
0.9.1-800F33E
Frigate config file
mqtt:
host: core-mosquitto
port: 1883
user: frigate
password: secret
detectors:
coral:
type: edgetpu
# Optional: birdseye configuration
birdseye:
enabled: True
width: 1280
height: 720
# Optional: Encoding quality of the mpeg1 feed (default: shown below)
# 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources.
quality: 8
# Optional: Mode of the view. Available options are: objects, motion, and continuous
# objects - cameras are included if they have had a tracked object within the last 30 seconds
# motion - cameras are included if motion was detected in the last 30 seconds
# continuous - all cameras are included always
mode: objects
# Optional: Detect configuration
# NOTE: Can be overridden at the camera level
detect:
# Optional: width of the frame for the input with the detect role (default: shown below)
width: 1280
# Optional: height of the frame for the input with the detect role (default: shown below)
height: 720
# Optional: desired fps for your camera for the input with the detect role (default: shown below)
# NOTE: Recommended value of 5. Ideally, try and reduce your FPS on the camera.
fps: 5
# Optional: enables detection for the camera (default: True)
# This value can be set via MQTT and will be updated in startup based on retained value
enabled: True
# Optional: Number of frames without a detection before frigate considers an object to be gone. (default: 5x the frame rate)
max_disappeared: 25
# Optional: Object configuration
# NOTE: Can be overridden at the camera level
objects:
# Optional: list of objects to track from labelmap.txt (default: shown below)
track:
- person
- bicycle
- car
- motorcycle
- cat
- dog
- handbag
- suitcase
- skateboard
- bicycle
- car
- motorcycle
- cat
- dog
- handbag
- suitcase
- skateboard
record:
enabled: True
# Optional: Number of days to retain recordings regardless of events (default: shown below)
# NOTE: This should be set to 0 and retention should be defined in events section below
# if you only want to retain recordings of events.
retain_days: 0
# Optional: Event recording settings
events:
# Optional: Maximum length of time to retain video during long events. (default: shown below)
# NOTE: If an object is being tracked for longer than this amount of time, the retained recordings
# will be the last x seconds of the event unless retain_days under record is > 0.
max_seconds: 300
# Optional: Number of seconds before the event to include (default: shown below)
pre_capture: 5
# Optional: Number of seconds after the event to include (default: shown below)
post_capture: 5
# Optional: Retention settings for recordings of events
retain:
# Required: Default retention days (default: shown below)
default: 10
# Optional: Per object retention days
objects:
person: 15
# Optional: Configuration for the jpg snapshots written to the clips directory for each event
# NOTE: Can be overridden at the camera level
snapshots:
# Optional: Enable writing jpg snapshot to /media/frigate/clips (default: shown below)
# This value can be set via MQTT and will be updated in startup based on retained value
enabled: True
# Optional: print a timestamp on the snapshots (default: shown below)
timestamp: True
# Optional: draw bounding box on the snapshots (default: shown below)
bounding_box: True
# Optional: crop the snapshot (default: shown below)
crop: True
# Optional: height to resize the snapshot to (default: original size)
# height: 175
# Optional: Camera override for retention settings (default: global values)
retain:
# Required: Default retention days (default: shown below)
default: 10
# Optional: Per object retention days
objects:
person: 15
# Optional: RTMP configuration
# NOTE: Can be overridden at the camera level
rtmp:
# Optional: Enable the RTMP stream (default: True)
enabled: True
# Optional: Live stream configuration for WebUI
# NOTE: Can be overridden at the camera level
live:
# Optional: Set the height of the live stream. (default: 720)
# This must be less than or equal to the height of the detect stream. Lower resolutions
# reduce bandwidth required for viewing the live stream. Width is computed to match known aspect ratio.
height: 720
# Optional: Set the encode quality of the live stream (default: shown below)
# 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources.
quality: 8
# Optional: in-feed timestamp style configuration
# NOTE: Can be overridden at the camera level
timestamp_style:
# Optional: Position of the timestamp (default: shown below)
# "tl" (top left), "tr" (top right), "bl" (bottom left), "br" (bottom right)
position: "tl"
# Optional: Format specifier conform to the Python package "datetime" (default: shown below)
# Additional Examples:
# german: "%d.%m.%Y %H:%M:%S"
format: "%d/%m/%Y %H:%M:%S"
# Optional: Color of font
color:
# All Required when color is specified (default: shown below)
red: 255
green: 255
blue: 255
# Optional: Line thickness of font (default: shown below)
thickness: 2
# Optional: Effect of lettering (default: shown below)
# None (No effect),
# "solid" (solid background in inverse color of font)
# "shadow" (shadow for font)
effect: "shadow"
# Required
cameras:
# Required: name of the camera
building_level_1:
# Required: ffmpeg settings for the camera
ffmpeg:
inputs:
- path: rtsp://secret:secret@300.400.500.600/unicast/c1/s1/live
roles:
- detect
- rtmp
- record
best_image_timeout: 60
# Optional: Configuration for the jpg snapshots published via MQTT
mqtt:
# Optional: Enable publishing snapshot via mqtt for camera (default: shown below)
# NOTE: Only applies to publishing image data to MQTT via 'frigate/<camera_name>/<object_name>/snapshot'.
# All other messages will still be published.
enabled: True
# Optional: print a timestamp on the snapshots (default: shown below)
timestamp: True
# Optional: draw bounding box on the snapshots (default: shown below)
bounding_box: True
# Optional: crop the snapshot (default: shown below)
crop: True
# Optional: height to resize the snapshot to (default: shown below)
height: 270
# Optional: jpeg encode quality (default: shown below)
quality: 70
building_basement:
# Required: ffmpeg settings for the camera
ffmpeg:
inputs:
- path: rtsp://secret:secret@300.400.500.600/unicast/c2/s1/live
roles:
- detect
- rtmp
- record
best_image_timeout: 60
# Optional: Configuration for the jpg snapshots published via MQTT
mqtt:
# Optional: Enable publishing snapshot via mqtt for camera (default: shown below)
# NOTE: Only applies to publishing image data to MQTT via 'frigate/<camera_name>/<object_name>/snapshot'.
# All other messages will still be published.
enabled: True
# Optional: print a timestamp on the snapshots (default: shown below)
timestamp: True
# Optional: draw bounding box on the snapshots (default: shown below)
bounding_box: True
# Optional: crop the snapshot (default: shown below)
crop: True
# Optional: height to resize the snapshot to (default: shown below)
height: 270
# Optional: jpeg encode quality (default: shown below)
quality: 70
building_street:
# Required: ffmpeg settings for the camera
ffmpeg:
inputs:
- path: rtsp://secret:secret@300.400.500.600/unicast/c3/s1/live
roles:
- detect
- rtmp
- record
best_image_timeout: 60
# Optional: Configuration for the jpg snapshots published via MQTT
mqtt:
# Optional: Enable publishing snapshot via mqtt for camera (default: shown below)
# NOTE: Only applies to publishing image data to MQTT via 'frigate/<camera_name>/<object_name>/snapshot'.
# All other messages will still be published.
enabled: True
# Optional: print a timestamp on the snapshots (default: shown below)
timestamp: True
# Optional: draw bounding box on the snapshots (default: shown below)
bounding_box: True
# Optional: crop the snapshot (default: shown below)
crop: True
# Optional: height to resize the snapshot to (default: shown below)
height: 270
# Optional: jpeg encode quality (default: shown below)
quality: 70
building_ground_floor:
# Required: ffmpeg settings for the camera
ffmpeg:
inputs:
- path: rtsp://secret:secret@300.400.500.600/unicast/c4/s1/live
roles:
- detect
- rtmp
- record
best_image_timeout: 60
# Optional: Configuration for the jpg snapshots published via MQTT
mqtt:
# Optional: Enable publishing snapshot via mqtt for camera (default: shown below)
# NOTE: Only applies to publishing image data to MQTT via 'frigate/<camera_name>/<object_name>/snapshot'.
# All other messages will still be published.
enabled: True
# Optional: print a timestamp on the snapshots (default: shown below)
timestamp: True
# Optional: draw bounding box on the snapshots (default: shown below)
bounding_box: True
# Optional: crop the snapshot (default: shown below)
crop: True
# Optional: height to resize the snapshot to (default: shown below)
height: 270
# Optional: jpeg encode quality (default: shown below)
quality: 70
Relevant log output
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[2021-10-07 10:58:42] frigate.app INFO : Starting Frigate (0.9.1-800f33e)
[2021-10-07 10:58:42] frigate.app INFO : Creating directory: /media/frigate/recordings
[2021-10-07 10:58:42] frigate.app INFO : Creating directory: /media/frigate/clips
[2021-10-07 10:58:42] frigate.app INFO : Creating directory: /tmp/cache
Starting migrations
[2021-10-07 10:58:42] peewee_migrate INFO : Starting migrations
Migrate "001_create_events_table"
[2021-10-07 10:58:42] peewee_migrate INFO : Migrate "001_create_events_table"
sql ('CREATE TABLE IF NOT EXISTS "event" ("id" VARCHAR(30) NOT NULL PRIMARY KEY, "label" VARCHAR(20) NOT NULL, "camera" VARCHAR(20) NOT NULL, "start_time" DATETIME NOT NULL, "end_time" DATETIME NOT NULL, "top_score" REAL NOT NULL, "false_positive" INTEGER NOT NULL, "zones" JSON NOT NULL, "thumbnail" TEXT NOT NULL)',)
[2021-10-07 10:58:42] peewee_migrate INFO : sql ('CREATE TABLE IF NOT EXISTS "event" ("id" VARCHAR(30) NOT NULL PRIMARY KEY, "label" VARCHAR(20) NOT NULL, "camera" VARCHAR(20) NOT NULL, "start_time" DATETIME NOT NULL, "end_time" DATETIME NOT NULL, "top_score" REAL NOT NULL, "false_positive" INTEGER NOT NULL, "zones" JSON NOT NULL, "thumbnail" TEXT NOT NULL)',)
sql ('CREATE INDEX IF NOT EXISTS "event_label" ON "event" ("label")',)
[2021-10-07 10:58:42] peewee_migrate INFO : sql ('CREATE INDEX IF NOT EXISTS "event_label" ON "event" ("label")',)
sql ('CREATE INDEX IF NOT EXISTS "event_camera" ON "event" ("camera")',)
[2021-10-07 10:58:42] peewee_migrate INFO : sql ('CREATE INDEX IF NOT EXISTS "event_camera" ON "event" ("camera")',)
Done 001_create_events_table
[2021-10-07 10:58:42] peewee_migrate INFO : Done 001_create_events_table
Migrate "002_add_clip_snapshot"
[2021-10-07 10:58:42] peewee_migrate INFO : Migrate "002_add_clip_snapshot"
add_column ('event', 'has_clip', <BooleanField: Event.has_clip>)
[2021-10-07 10:58:42] peewee_migrate INFO : add_column ('event', 'has_clip', <BooleanField: Event.has_clip>)
add_column ('event', 'has_snapshot', <BooleanField: Event.has_snapshot>)
[2021-10-07 10:58:42] peewee_migrate INFO : add_column ('event', 'has_snapshot', <BooleanField: Event.has_snapshot>)
Done 002_add_clip_snapshot
[2021-10-07 10:58:42] peewee_migrate INFO : Done 002_add_clip_snapshot
Migrate "003_create_recordings_table"
[2021-10-07 10:58:43] peewee_migrate INFO : Migrate "003_create_recordings_table"
Done 003_create_recordings_table
[2021-10-07 10:58:43] peewee_migrate INFO : Done 003_create_recordings_table
Migrate "004_add_bbox_region_area"
[2021-10-07 10:58:43] peewee_migrate INFO : Migrate "004_add_bbox_region_area"
add_column ('event', 'region', <JSONField: Event.region>)
[2021-10-07 10:58:43] peewee_migrate INFO : add_column ('event', 'region', <JSONField: Event.region>)
add_column ('event', 'box', <JSONField: Event.box>)
[2021-10-07 10:58:43] peewee_migrate INFO : add_column ('event', 'box', <JSONField: Event.box>)
add_column ('event', 'area', <IntegerField: Event.area>)
[2021-10-07 10:58:43] peewee_migrate INFO : add_column ('event', 'area', <IntegerField: Event.area>)
Done 004_add_bbox_region_area
[2021-10-07 10:58:43] peewee_migrate INFO : Done 004_add_bbox_region_area
[2021-10-07 10:58:43] frigate.mqtt INFO : MQTT connected
[2021-10-07 10:58:43] frigate.app INFO : Output process started: 222
[2021-10-07 10:58:43] ws4py INFO : Using epoll
[2021-10-07 10:58:43] frigate.app INFO : Camera processor started for building_level_1: 231
[2021-10-07 10:58:43] frigate.app INFO : Camera processor started for building_basement: 232
[2021-10-07 10:58:43] frigate.app INFO : Camera processor started for building_street: 234
[2021-10-07 10:58:43] frigate.app INFO : Camera processor started for building_ground_floor: 235
[2021-10-07 10:58:43] frigate.app INFO : Capture process started for building_level_1: 236
[2021-10-07 10:58:43] frigate.app INFO : Capture process started for building_basement: 238
[2021-10-07 10:58:43] frigate.app INFO : Capture process started for building_street: 239
[2021-10-07 10:58:43] frigate.app INFO : Capture process started for building_ground_floor: 244
[2021-10-07 10:58:43] ws4py INFO : Using epoll
[2021-10-07 10:58:43] detector.coral INFO : Starting detection process: 221
[2021-10-07 10:58:43] frigate.edgetpu INFO : Attempting to load TPU as usb
[2021-10-07 10:58:46] frigate.edgetpu INFO : TPU found
[2021-10-07 10:59:16] ws4py INFO : Managing websocket [Local => 127.0.0.1:5002 | Remote => 127.0.0.1:39602]
[2021-10-07 10:59:20] ws4py INFO : Managing websocket [Local => 127.0.0.1:8082 | Remote => 127.0.0.1:60640]
[2021-10-07 10:59:20] ws4py INFO : Terminating websocket [Local => 127.0.0.1:8082 | Remote => 127.0.0.1:60640]
[2021-10-07 11:01:54] ws4py INFO : Terminating websocket [Local => 127.0.0.1:5002 | Remote => 127.0.0.1:39602]
[2021-10-07 11:02:13] ws4py INFO : Managing websocket [Local => 127.0.0.1:8082 | Remote => 127.0.0.1:34966]
[2021-10-07 11:02:16] ws4py INFO : Terminating websocket [Local => 127.0.0.1:8082 | Remote => 127.0.0.1:34966]
[2021-10-07 11:03:50] ws4py INFO : Managing websocket [Local => 127.0.0.1:5002 | Remote => 127.0.0.1:43612]
[2021-10-07 11:04:54] ws4py INFO : Terminating websocket [Local => 127.0.0.1:5002 | Remote => 127.0.0.1:43612]
FFprobe output from your camera
ffprobe version 4.3.2-0+deb11u2 Copyright (c) 2007-2021 the FFmpeg developers
built with gcc 10 (Debian 10.2.1-6)
configuration: --prefix=/usr --extra-version=0+deb11u2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
[rtsp @ 0x564c49dd25c0] UDP timeout, retrying with TCP
[rtsp @ 0x564c49dd25c0] method PAUSE failed: 401 Unauthorized
[rtsp @ 0x564c49dd25c0] Could not find codec parameters for stream 0 (Video: h264, none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, rtsp, from 'rtsp://secret:secret@300.400.500.600/unicast/c2/s1/live':
Metadata:
title : ONVIF RTSP Server
Duration: N/A, bitrate: N/A
Stream #0:0: Video: h264, none, 90k tbr, 90k tbn, 180k tbc
Frigate stats
No response
Operating system
HassOS
Install method
HassOS Addon
Coral version
USB
Network connection
Wired
Camera make and model
Univision NVR
Any other information that may be helpful
No response
Issue Analytics
- State:
- Created 2 years ago
- Comments:10 (2 by maintainers)
Top Results From Across the Web
ending of the clips i used have been cut short
On my Iphone 6s (IOS 14) I have been having problems with the Premiere Rush app. I have been recording COD: Mobile clips...
Read more >Game clips are being cut short - Microsoft Community
Anyone else have a problem with there game clips being cut short? No matter what length clip i choose, the actual recorded clip...
Read more >Extend or shorten clips in Final Cut Pro - Apple Support
Extend or shorten clips in Final Cut Pro. You can trim a clip in your project by adjusting the start point or end...
Read more >Haircuts for Men & Boys | Check-in Online | Sport Clips 2022
Stylists specializing in the cutting edge Men and Boys' Haircuts with a Championship Experience. Check in Online to check current store hours and...
Read more >Share clips - YouTube Help - Google Support
Select and share a small portion (clip) of a video or live stream with others by clipping it. Clips can be shared on...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Blake,
I do not see that specific error message, but my Recordings are being cut short after I upgraded to 0.9.1-800f33e. I have also updated to the v2.1.0 of the integration.
Example:
This recording is the perfect example. Event lasts 30 seconds, snapshot is taken 10 seconds in. That’s perfect and expected behavior. Recording lasts 2 seconds and it’s the last part of the video where the delivery guy has already left
I got this exact type of error once I tried to add sound by changing the global ffmpeg parameters to remove the “-an”
Once I moved these lines to the camera section, I got sound in my recordings and the “playback aborted due to corruption” error disappeared.