question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Support]: Clips are cut short

See original GitHub issue

Describe 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.
Screen Shot 2021-10-07 at 11 06 31 am

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:closed
  • Created 2 years ago
  • Comments:10 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
HairyHookcommented, Oct 8, 2021

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. image Recording lasts 2 seconds and it’s the last part of the video where the delivery guy has already left image

0reactions
TimTechToocommented, Nov 18, 2021

I got this exact type of error once I tried to add sound by changing the global ffmpeg parameters to remove the “-an”

ffmpeg:
   output_args:
     record: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy

Once I moved these lines to the camera section, I got sound in my recordings and the “playback aborted due to corruption” error disappeared.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found