New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Support]: Unable to playback h265 recordings in modern interface. #2656
Comments
To clarify, is the clip.mp4 that works from an event before or after the upgrade? |
They are running on different systems. |
I've re-pulled the 0.8.4 and added just the one camera, waited for person detection, and allowed the file to write. |
0.9.x completely changed the way recordings are handled and played. The clip.mp4 file you downloaded was dynamically created on the backend and sent for download. Playing in the UI does something completely different. A playlist of recording segments is sent to the frontend. |
Try opening |
OK, I understand that. How can I get frigate to playback the file encoded in h265 in the new version? As the older version is handling the playback of videos from the same camera with no issues. |
VLC Plays back the clip. |
Sounds like the backend is serving up the video fine, so it must be a frontend issue. Can you post all the messages from the browser console? I'm not sure why video.js is having an issue with your video. I know others are using h265 on newer versions fine. |
I'm not at home at the moment, Running over VPN, so might be some traffic blocked, but at the moment I can see this from my machine:
|
I'm not sure those are related. There should be some kind of error for VIDEOJS in the console logs when you click play in the web UI. |
Just connecting to a machine inside my network.
|
That's playing. :D |
This looks similar to what you are experiencing. |
I'm seeing the same behaviour in Chrome too. |
Chrome definitely doesn't have support for playing H265 files. Only Edge, IE, and Safari: https://videojs.com/html5-video-support/ |
Is there anything I can do to fix the problem? |
Can you download and post the m3u8 file? |
Sure index.m3u8 is 1kb and contains the following:
|
A downloaded video file is attached. This will play on the computer, but not via the frigate interface. |
Can you post the |
Of Course
|
This may be a bit of a long shot, but this issue may be related. Try modifying the output args for recordings on the camera that isn't working to tag the video as ffmpeg:
output_args:
record: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an -tag:v hvc1 See if events created after this change can be played back. |
That seems to throw a different error in the browser.
|
Can you still download the clip.mp4 and play it? Are the mp4 files in the recordings directory playable? |
The file still plays in VLC from the file share. and if i download it from the browser I can play it back with VLC too. |
Can you post the mediainfo output from one of the new recording segments? |
Its odd as the playback worked fine in the old version with the same settings / cameras. |
The way playback happened in the old version was completely different. |
but wasn't the file format the same, meaning that edge supported the format, or is that incorrect? |
The underlying video data is the same, yes. Frigate just saves it directly from the camera. The previous version returned a raw mp4 file for the event. 0.9.x returns the same video files as a playlist of .ts segments in an m3u8 playlist. For some reason, Edge doesn't decode the videos correctly when that happens. |
Am I correct in concluding that according to that information from caniuse, we can only playback content in the current version of frigate on an Apple device? |
I'm not sure it helps at all, but this plays back in edge on windows without issue. However all of the streams on https://players.akamai.com/players/dashjs play EXCEPT the option "segment timeline/time" https://dash.akamaized.net/envivio/EnvivioDash3/manifest.mpd
|
I think there is a way to make it work, but I am guessing it's going to require some very specific changes. I keep finding conflicting information about the future of H265 support on edge with the move to chromium. |
Thanks for the update. I really appreciate your time. |
h.265 costs money av1 free h.264 also costs money, check your browser plugins none of these browsers support h.264 nor h.265 (plugins do) and they're definitely not going to support h.266, these cost too much money for the free they provide. So don't hold your breath for edge (chromium) support. That extension above should help |
We already have the h265 extension below installed, is this not the same? |
This has already updated to 1.0.43421 |
Yea no guarantee it helps edge or any browser though =[ |
my cameras don't output h264, only h265, so that's not an option I'm afraid. |
h265 to h264 is always an option with ffmpeg... and pretty much your only, unless you use non browser to stream (or a phone) |
What do you mean by "use non browser" to stream? I just want to playback the recordings on my laptop / PC, and not have to use an ipad to review the recordings. |
Hi, Has anybody found a solution to this issue. I have upgraded my cameras to h.265 models and am seeing the exact same behavior. Cheers, |
Looks like H265 works in some cases: blakeblackshear/frigate-hass-integration#219 (comment) |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
@nicholh No more information i'm afraid. |
Any chances of getting back to the approach that worked in 0.8 for serving H265? My cameras only have H265, and, from my observations, it's a common trend on the market, especially for 4K+ cameras. |
No, that would be a major regression in the way frigate stores recordings and creates lots of redundant storage usage. In the future we're hoping to have "post processors" that can convert the h265 to h264 via ffmpeg after the segments are saved |
Hmm isn't H265 more storage efficient than H264? |
@blakeblackshear could you comment on how e.g. this extension https://microsoftedge.microsoft.com/addons/detail/hls-streaming-player/oigohokpjennhfmeegflfcbpfbohlkmn manages to successfully play .m3u8 in Edge? |
The amount of storage efficiency gained with h264 -> h265 is not even close to the amount of storage that is used by storing identical video footage multiple times (for events and for 24/7 recordings) as it was before. Not to mention h265 can't be played in most browsers so it would result in just higher storage as most users that want to view their recordings |
Does this work on Edge for Linux and MacOS? I don't have a Windows machine. |
I guess it depends on the number of events? In any case, with typical home use, storage is not something to be worried about these days.
It costs nothing to use a different browser. Costs for buying different camera(s) may be substantial, the choice is limited and it may not be easy to tell in advance if it supports H264 and, if so, what resolutions are supported. On top of that, https://docs.frigate.video/hardware doesn't mention anything about support for H265-only cameras being limited to such an extent that it's not possible to see the recordings in the browser, which is, kinda, minimum expectation from such a system. |
I already outlined the plan for allowing the conversion of h265 -> h264 through post processors in a future version which would have the benefit of supporting all browsers and h265 only cameras while maintaining the smarter and more efficient storage mechanism that we have today.
I guess it could be on that page too, but it is called out at the top of https://docs.frigate.video/guides/camera_setup/ and https://docs.frigate.video/configuration/record/ and it does also say on the hardware page:
|
Looking forward to the conversion capability. Hopefully, it won't affect hosting hardware requirements significantly. Will have to switch to another software for now.
Neither of those pages mentions that recordings can't be played in any browser. In fact, the way it's phrased now leads to a false assumption that the only issue with H265 is the limited browser choice. From the doc:
Nope, H265 recordings can't be viewed in any browser (from v0.9+ anyway). |
Describe the problem you are having
Unable to playback h265 clips and recordings in the updated viewer. Works fine with older (0.8.4) version. Browsers throws an error, and has to be refeshed to select anything else on the page.
"Playback cannot continue. No available working or supported playlists."
Tested on version 0.8.4 the file plays - Section information is:
The home / non working one shows:
The video URL allows the file to playback with no problems.
http://192.168.12.207:5000/api/events/1642372025.240855-6tjtap/clip.mp4
streaming is working fine in the browser, and i can see a live view.
Version
Tested on 0.9.4 and 0.10.0
Frigate config file
Relevant log output
FFprobe output from your camera
Frigate stats
No response
Operating system
UNRAID
Install method
Docker CLI
Coral version
PCIe
Network connection
Wired
Camera make and model
hikvision I91BM
Any other information that may be helpful
No response
The text was updated successfully, but these errors were encountered: