[Support]: Safari/iOS API Clip error #15384
-
Describe the problem you are havingWhen accessing the link https://xxxx/api/frigate/notifications/173xx95959.778578-xxxx/Portero/clip.mp4 it still does not load the video both on iOS and Safari, however the same link on Egde is visible correctly. In 0.14 works correctly, so maybe it was some change in 0.15. Error in inspector: Failed to load resource: Best regards and thanks for your work. Version0.15.0-c0ba98e What browser(s) are you using?Safari 18.1.1 (20619.2.8.11.12) Frigate config fileqtt:
host: 192.168.0.12
port: 1883
topic_prefix: frigate
client_id: frigate
user: ***
password: ****
stats_interval: 60
ffmpeg:
hwaccel_args: preset-intel-qsv-h264
output_args:
record: preset-record-generic-audio-aac
##############################
go2rtc:
streams:
Pozo_H:
- rtsp://*******:*******@192.168.2.126:554/h264Preview_01_main
- ffmpeg:Pozo_H#audio=aac
Pozo_L:
- rtsp://*******:*******@192.168.2.126:554/h264Preview_01_sub
- ffmpeg:Pozo_L#audio=aac
Jacuzzi_H:
- rtsp://*******:*******@192.168.2.119:554/h264Preview_01_main
- ffmpeg:Jacuzzi_H#audio=aac#video=h264#hardware
Jacuzzi_L:
- rtsp://*******:*******@192.168.2.119:554/Preview_01_sub
- ffmpeg:Jacuzzi_L#audio=aac
Puerta_H:
- rtsp://*******:*******@192.168.2.131:554/Preview_01_main
- ffmpeg:Puerta_H#audio=aac#video=h264#hardware
Puerta_L:
- rtsp://*******:*******@192.168.2.131:554/h264Preview_01_sub
- ffmpeg:Puerta_L#audio=aac
Rocalla_H:
- rtsp://*******:*******@192.168.2.77:554/Preview_01_main
- ffmpeg:Rocalla_H#audio=aac
Rocalla_L:
- rtsp://*******:*******@192.168.2.77:554/h264Preview_01_sub
- ffmpeg:Rocalla_L#audio=aac
Portero_H:
- rtsp://*******:*******@192.168.2.137:554/h264Preview_01_main
- ffmpeg:Portero_H#audio=aac#audio=copy#audio=opus
Portero_L:
- rtsp://*******:*******@192.168.2.137:554/h264Preview_01_sub
- ffmpeg:Portero_L#audio=aac
Garaje_H:
- rtsp://*******:*******@192.168.2.100:554/h264Preview_01_main
- ffmpeg:Garaje_H#audio=aac
Garaje_L:
- rtsp://*******:*******@192.168.2.100:554/h264Preview_01_sub
- ffmpeg:Garaje_L#audio=aac
Interior_H:
- rtsp://*******:*******@192.168.2.97:554/h264Preview_01_main
- ffmpeg:Interior_H#audio=aac
Interior_L:
- rtsp://*******:*******@192.168.2.97:554/h264Preview_01_sub
- ffmpeg:Interior_L#audio=aac
webrtc:
candidates:
- 192.168.0.6:8555
- stun:8555
detectors:
coral:
type: edgetpu
device: usb
model:
path: plus://*****
birdseye:
enabled: true
mode: continuous
restream: true
cameras:
Pozo:
birdseye:
order: 1
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/Pozo_L?video=copy&audio=aac
roles:
- record
- path: rtsp://127.0.0.1:8554/Pozo_L?video=copy
roles:
- detect
live:
stream_name: Pozo_L
detect:
fps: 5
enabled: true # <---- disable detection until you have a working camera feed
width: 1536 # <---- update for your camera's resolution
height: 576
motion:
threshold: 30
contour_area: 10
frame_height: 150
mask:
- 1536,290,1038,197,881,143,758,127,665,99,486,133,483,255,0,321,0,0,1536,0
record:
enabled: true
retain:
days: 10
mode: all
alerts:
retain:
days: 10
mode: motion
objects:
track:
- person
- face
- license_plate
- dog
- cat
- car
- amazon
- fedex
- ups
- package
filters:
dog:
min_score: .7
threshold: .9
cat:
min_score: .7
threshold: .9
face:
min_score: .7
package:
min_score: .65
threshold: .9
license_plate:
min_score: .6
amazon:
min_score: .75
ups:
min_score: .75
fedex:
min_score: .75
person:
min_score: .7
threshold: .75
max_area: 60000
max_ratio: 0.7
min_area: 500
car:
min_score: 0.70
# threshold: 0.8
threshold: .85
min_area: 4000
max_area: 100000
mask:
- 0,576,0,270,497,164,675,127,878,177,1387,576
Jacuzzi:
birdseye:
order: 4
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/Jacuzzi_L?video=copy&audio=aac
roles:
- record
- path: rtsp://127.0.0.1:8554/Jacuzzi_L?video=copy
roles:
- detect
live:
stream_name: Jacuzzi_L
detect:
fps: 5
enabled: true # <---- disable detection until you have a working camera feed
width: 1536 # <---- update for your camera's resolution
height: 576
motion:
threshold: 30
contour_area: 10
frame_height: 150
mask:
- 0,0,0,304,280,281,345,269,457,41,321,193,842,152,916,187,1025,187,1536,31,1536,0,1536,0
record:
enabled: true
retain:
days: 10
mode: all
alerts:
retain:
days: 10
mode: motion
objects:
track:
- person
- face
- license_plate
- dog
- cat
- car
- amazon
- fedex
- ups
- package
filters:
dog:
min_score: .7
threshold: .9
cat:
min_score: .7
threshold: .9
face:
min_score: .7
package:
min_score: .65
threshold: .9
license_plate:
min_score: .6
amazon:
min_score: .75
ups:
min_score: .75
fedex:
min_score: .75
person:
min_score: .7
threshold: .75
max_area: 60000
max_ratio: 0.7
car:
min_score: 0.70
# threshold: 0.8
threshold: .85
min_area: 4000
max_area: 100000
mask:
- 0,576,0,270,497,164,675,127,878,177,1387,576
Rocalla:
birdseye:
order: 1
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/Rocalla_L?video=copy&audio=aac
roles:
- record
- path: rtsp://127.0.0.1:8554/Rocalla_L?video=copy
roles:
- detect
onvif:
host: 192.168.2.77
port: 8000
user: *******
password: *******
live:
stream_name: Rocalla_H
detect:
fps: 5
enabled: true # <---- disable detection until you have a working camera feed
width: 640 # <---- update for your camera's resolution
height: 360
motion:
threshold: 30
contour_area: 10
frame_height: 150
record:
enabled: true
retain:
days: 10
mode: all
alerts:
retain:
days: 10
mode: motion
objects:
track:
- person
- face
- license_plate
- dog
- cat
- car
- amazon
- fedex
- ups
- package
filters:
dog:
min_score: .7
threshold: .9
cat:
min_score: .7
threshold: .9
face:
min_score: .7
package:
min_score: .65
threshold: .9
license_plate:
min_score: .6
amazon:
min_score: .75
ups:
min_score: .75
fedex:
min_score: .75
person:
min_score: .7
threshold: .75
max_area: 60000
max_ratio: 0.7
car:
min_score: 0.70
# threshold: 0.8
threshold: .85
min_area: 4000
max_area: 100000
Garaje:
birdseye:
order: 4
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/Garaje_L?video=copy&audio=aac
roles:
- record
- path: rtsp://127.0.0.1:8554/Garaje_L?video=copy
roles:
- detect
onvif:
host: 192.168.2.100
port: 8000
user: *******
password: *******
live:
stream_name: Garaje_H
detect:
fps: 5
enabled: true # <---- disable detection until you have a working camera feed
width: 640 # <---- update for your camera's resolution
height: 480
motion:
threshold: 30
contour_area: 10
frame_height: 150
record:
enabled: true
retain:
days: 10
mode: all
alerts:
retain:
days: 10
mode: motion
objects:
track:
- person
- face
- license_plate
- dog
- cat
- car
- amazon
- fedex
- ups
- package
filters:
dog:
min_score: .7
threshold: .9
cat:
min_score: .7
threshold: .9
face:
min_score: .7
package:
min_score: .65
threshold: .9
license_plate:
min_score: .6
amazon:
min_score: .75
ups:
min_score: .75
fedex:
min_score: .75
person:
min_score: .7
threshold: .75
max_area: 60000
max_ratio: 0.7
car:
min_score: 0.70
# threshold: 0.8
threshold: .85
min_area: 4000
max_area: 100000
Interior:
birdseye:
order: 4
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/Interior_L?video=copy&audio=aac
roles:
- record
- path: rtsp://127.0.0.1:8554/Interior_L?video=copy
roles:
- detect
onvif:
host: 192.168.2.97
port: 8000
user: *******
password: *******
live:
stream_name: Interior_H
detect:
fps: 5
enabled: true # <---- disable detection until you have a working camera feed
width: 640 # <---- update for your camera's resolution
height: 360
motion:
threshold: 30
contour_area: 10
frame_height: 150
record:
enabled: false
retain:
days: 10
mode: all
alerts:
retain:
days: 10
mode: motion
objects:
track:
- person
- face
- license_plate
- dog
- cat
- car
- amazon
- fedex
- ups
- package
filters:
dog:
min_score: .7
threshold: .9
cat:
min_score: .7
threshold: .9
face:
min_score: .7
package:
min_score: .65
threshold: .9
license_plate:
min_score: .6
amazon:
min_score: .75
ups:
min_score: .75
fedex:
min_score: .75
person:
min_score: .7
threshold: .75
max_area: 60000
max_ratio: 0.7
car:
min_score: 0.70
# threshold: 0.8
threshold: .85
min_area: 4000
max_area: 100000
Puerta:
birdseye:
order: 2
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/Puerta_L?video=copy&audio=aac
roles:
- record
- path: rtsp://127.0.0.1:8554/Puerta_L?video=copy
roles:
- detect
output_args:
record: preset-record-generic-audio-copy
live:
stream_name: Puerta_L
detect:
enabled: true # <---- disable detection until you have a working camera feed
width: 1536
height: 432
fps: 5
motion:
threshold: 30
contour_area: 10
record:
enabled: true
retain:
days: 10
mode: all
snapshots:
required_zones:
- todas
- entrada_casa
zones:
todas:
coordinates: 753,432,0,432,0,0,1536,0,1536,432
objects:
- dog
- cat
- face
- package
- license_plate
- amazon
- ups
- fedex
- person
entrada_casa:
coordinates: 68,432,331,248,719,250,870,432
objects:
- car
objects:
track:
- person
- face
- license_plate
- dog
- cat
- car
- amazon
- fedex
- ups
- package
filters:
dog:
min_score: .7
threshold: .9
cat:
min_score: .7
threshold: .9
face:
min_score: .7
package:
min_score: .65
threshold: .9
license_plate:
min_score: .6
amazon:
min_score: .75
ups:
min_score: .75
fedex:
min_score: .75
person:
min_score: .7
threshold: .75
max_area: 60000
max_ratio: 0.7
car:
min_score: 0.70
# threshold: 0.8
min_area: 4000
# max_area: 100000
mask:
- 469,59,348,242,998,187,989,34
- 681,0,0,0,0,432
review:
alerts:
required_zones:
- todas
- entrada_casa
Portero:
birdseye:
order: 3
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/Portero_H?video=copy&audio=aac
roles:
- record
- path: rtsp://127.0.0.1:8554/Portero_L?video=copy
roles:
- detect
output_args:
record: preset-record-generic-audio-copy
live:
stream_name: Portero_H
detect:
enabled: true # <---- disable detection until you have a working camera feed
width: 640 # <---- update for your camera's resolution
height: 480
fps: 5
motion:
# threshold: 30
# contour_area: 10
mask:
- 0,0,0,299,40,250,99,246,178,201,231,170,253,144,368,39,640,0,640,0
record:
enabled: true
retain:
days: 10
mode: all
objects:
track:
- person
- face
- license_plate
- dog
- cat
- car
- amazon
- fedex
- ups
- package
filters:
dog:
min_score: .7
threshold: .9
cat:
min_score: .7
threshold: .9
face:
min_score: .7
package:
min_score: .65
threshold: .9
license_plate:
min_score: .6
amazon:
min_score: .75
ups:
min_score: .75
fedex:
min_score: .75
person:
min_score: .7
threshold: .75
max_area: 60000
max_ratio: 0.7
car:
mask:
- 640,159,520,242,640,350
min_area: 500
timestamp_style:
position: tl
format: '%d/%m/%Y %H:%M:%S'
color:
red: 255
green: 255
blue: 255
thickness: 2
snapshots:
enabled: true
timestamp: true
bounding_box: true
retain:
default: 30
version: 0.15-0
camera_groups:
Interior:
order: 1
icon: LuWarehouse
cameras:
- Interior
- Garaje
Exterior:
order: 2
icon: LuFlower2
cameras:
- Jacuzzi
- Portero
- Pozo
- Puerta
- Rocalla
auth:
failed_login_rate_limit: 1/second;5/minute;20/hour
trusted_proxies:
- 172.18.0.0/16
tls:
enabled: true
notifications:
enabled: 'true'
email: ******** Relevant Frigate log outputNothing Relevant go2rtc log outputNothing FFprobe output from your cameratream data is obtained with ffprobe.
Stream 1
Video:
Codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
Resolution: 1536x432 (32/9 aspect ratio)
FPS: 20/1
Audio:
Codec: AAC (Advanced Audio Coding)
Stream 2
Video:
Codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
Resolution: 1536x432 (32/9 aspect ratio)
FPS: 20/1 Frigate statsNo response Install methodProxmox via Docker docker-compose file or Docker CLI commandversion: '3.9'
- /etc/localtime:/etc/localtime:ro
services:opt/frigate/config:/config
- /cctv_clips:/media/frigate
frigate:tc/letsencrypt/live/frigate:/etc/letsencrypt/live/frigate:ro
container_name: frigatenal: 1GB of memory, reduces SSD/SD Card wear
privileged: true/cache
# restart: unless-stopped
image: ghcr.io/blakeblackshear/frigate:edaccd8
cap_add:
- CAP_PERFMON
shm_size: "2048mb" # update for your cameras based on calculation above
devices:5:1935" # RTMP feeds
- /dev/bus/usb:/dev/bus/usb
- /dev/dri/renderD128 # for intel hwaccel, needs to be updated for your hardware
volumes:
- /etc/localtime:/etc/localtime:ro
- /opt/frigate/config:/config
- /cctv_clips:/media/frigate
- /etc/letsencrypt/live/frigate:/etc/letsencrypt/live/frigate:ro
- type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
target: /tmp/cache
tmpfs:
size: 1000000000
ports:
- "5000:5000"
- "443:8971"
- "1935:1935" # RTMP feeds
- "8554:8554" # RTSP feeds
- "8555:8555/tcp" # WebRTC over tcp
- "8555:8555/udp" # WebRTC over udp
- "1984:1984"
environment:
FRIGATE_RTSP_PASSWORD: "xxxx"
PLUS_API_KEY: "xxx"
FRIGATE_JWT_SECRET: “xxx”
LIBVA_DRIVER_NAME: iHD
restart: always
mem_limit: 7.9G
cpus: 3.9 Object DetectorCoral Network connectionWired Camera make and modelReolink (Different models) Screenshots of the Frigate UI's System metrics pagesNo response Any other information that may be helpfulNo response |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 11 replies
-
I'd suggest trying to view the resource directly from Frigate's server and see if the issue still reproduces, I have no such issue viewing directly so it appears to be something related to home assistant displaying the video element |
Beta Was this translation helpful? Give feedback.
-
I've been seeing the same problem for a while. I'm running 0.15.0-beta2. In the console, it says "Failed to load resource: Plug-in handled load". ![]() These may have some hints to fix it: ![]() It looks like this is the problem:
|
Beta Was this translation helpful? Give feedback.
-
So it looks like Safari is incapable of handling streaming response MP4 videos. In any case, this is going to be inefficient to handle and safari does support m3u8 natively so the recommendation will be to use the |
Beta Was this translation helpful? Give feedback.
So it looks like Safari is incapable of handling streaming response MP4 videos. In any case, this is going to be inefficient to handle and safari does support m3u8 natively so the recommendation will be to use the
/vod/event/{event_id}/master.m3u8
API call to view videos for iOS instead of the clip API