mirror of
				https://github.com/blakeblackshear/frigate.git
				synced 2025-10-27 10:52:11 +01:00 
			
		
		
		
	Add annotation support (#6288)
This commit is contained in:
		
							parent
							
								
									83006eeb65
								
							
						
					
					
						commit
						b48f6d750f
					
				@ -269,6 +269,9 @@ class DetectConfig(FrigateBaseModel):
 | 
			
		||||
        default_factory=StationaryConfig,
 | 
			
		||||
        title="Stationary objects config.",
 | 
			
		||||
    )
 | 
			
		||||
    annotation_offset: int = Field(
 | 
			
		||||
        default=0, title="Milliseconds to offset detect annotations by."
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class FilterConfig(FrigateBaseModel):
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@ import { formatUnixTimestampToDateTime } from '../utils/dateUtil';
 | 
			
		||||
import PlayIcon from '../icons/Play';
 | 
			
		||||
import ExitIcon from '../icons/Exit';
 | 
			
		||||
import { Zone } from '../icons/Zone';
 | 
			
		||||
import { useState } from 'preact/hooks';
 | 
			
		||||
import { useMemo, useState } from 'preact/hooks';
 | 
			
		||||
import Button from './Button';
 | 
			
		||||
 | 
			
		||||
export default function TimelineSummary({ event, onFrameSelected }) {
 | 
			
		||||
@ -18,6 +18,14 @@ export default function TimelineSummary({ event, onFrameSelected }) {
 | 
			
		||||
 | 
			
		||||
  const { data: config } = useSWR('config');
 | 
			
		||||
 | 
			
		||||
  const annotationOffset = useMemo(() => {
 | 
			
		||||
    if (!config) {
 | 
			
		||||
      return 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return (config.cameras[event.camera]?.detect?.annotation_offset || 0) / 1000;
 | 
			
		||||
  }, [config, event]);
 | 
			
		||||
 | 
			
		||||
  const [timeIndex, setTimeIndex] = useState(-1);
 | 
			
		||||
 | 
			
		||||
  const recordingParams = {
 | 
			
		||||
@ -53,7 +61,7 @@ export default function TimelineSummary({ event, onFrameSelected }) {
 | 
			
		||||
 | 
			
		||||
  const onSelectMoment = async (index) => {
 | 
			
		||||
    setTimeIndex(index);
 | 
			
		||||
    onFrameSelected(eventTimeline[index], getSeekSeconds(eventTimeline[index].timestamp));
 | 
			
		||||
    onFrameSelected(eventTimeline[index], getSeekSeconds(eventTimeline[index].timestamp + annotationOffset));
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  if (!eventTimeline || !config) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user