TrackObject
class TrackObject extends Job implements ShouldQueue
Attempts to track an obect in a video. The object is initially defined by a video annotation. The annotation will be updated with the positions determined with the object tracking method.
Traits
Properties
int | $tries | The number of times the job may be attempted. |
|
protected VideoAnnotation | $annotation | The annotation that defines the initial object to track. |
|
protected User | $user | The user who initialized the tracking request. |
|
protected bool | $deleteWhenMissingModels | Ignore this job if the annotation does not exist any more. |
Methods
Return the cache key to store the number of concurrent jobs for each user.
Execute the job.
Execute the object tracking method and get the resulting annotation key frames.
Get the path to to input file for the object tracking script.
Create the JSON file that is the input for the object tracking script.
Delete a file if it exists.
Get the path to to output file for the object tracking script.
Execute a Python script.
Get the coordinates and dimensions of the start window for the object tracking script.
Get the points of a keyframe depending on the annotation shape.
Details
at line 62
static string
getRateLimitCacheKey(User $user)
Return the cache key to store the number of concurrent jobs for each user.
at line 73
__construct(VideoAnnotation $annotation, User $user)
Create a new instance.
at line 84
void
handle()
Execute the job.
at line 125
protected array
getTrackingKeyframes(VideoAnnotation $annotation)
Execute the object tracking method and get the resulting annotation key frames.
at line 159
protected string
getInputJsonPath(VideoAnnotation $annotation)
Get the path to to input file for the object tracking script.
at line 172
protected string
createInputJson(VideoAnnotation $annotation, string $videoPath)
Create the JSON file that is the input for the object tracking script.
at line 192
protected
maybeDeleteFile(string $path)
Delete a file if it exists.
at line 206
protected string
getOutputJsonPath(VideoAnnotation $annotation)
Get the path to to output file for the object tracking script.
at line 218
protected string
python(string $command)
Execute a Python script.
at line 241
protected array
getStartWindow(VideoAnnotation $annotation)
Get the coordinates and dimensions of the start window for the object tracking script.
at line 284
protected array
getPointsFromKeyframe(VideoAnnotation $annotation, array $keyframe)
Get the points of a keyframe depending on the annotation shape.