43 lines
1.3 KiB
C#
43 lines
1.3 KiB
C#
using System.Collections.ObjectModel;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace Jellyfin.Plugin.JRay.Models;
|
|
|
|
/// <summary>
|
|
/// Root object of a scene-actor-extraction "truth" file
|
|
/// (schema_version 1, minimal verbosity). See SPEC.md.
|
|
/// </summary>
|
|
public class TruthFile
|
|
{
|
|
/// <summary>
|
|
/// Gets or sets the schema version of this file.
|
|
/// </summary>
|
|
[JsonPropertyName("schema_version")]
|
|
public int SchemaVersion { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the source media path at extraction time (informational).
|
|
/// </summary>
|
|
[JsonPropertyName("movie")]
|
|
public string Movie { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Gets or sets the sampling rate (frames per second) used during extraction.
|
|
/// </summary>
|
|
[JsonPropertyName("sample_fps")]
|
|
public double SampleFps { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the gap (seconds) below which consecutive detections were merged into one scene.
|
|
/// </summary>
|
|
[JsonPropertyName("anneal_sec")]
|
|
public double AnnealSec { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets the list of actors detected in the film, each with their on-screen scene windows.
|
|
/// </summary>
|
|
[JsonPropertyName("actors")]
|
|
[JsonObjectCreationHandling(JsonObjectCreationHandling.Populate)]
|
|
public Collection<TruthActor> Actors { get; } = new();
|
|
}
|