Files
old-holivud2/app/services/video_analysis_service.rb
2020-05-31 22:38:19 +02:00

55 lines
1.1 KiB
Ruby

class VideoAnalysisService
def presenter(video, video_analysis, audio_analysis)
VideoAnalysisPresenter.new(
video,
video_analysis,
MatchesPresenter.new(
video,
video_analysis,
audio_analysis,
all_edl_events(video),
all_graphics_edl_events(video),
)
)
end
private
def all_graphics_edl_events(video)
if video.graphics_only_edl_file.attached?
graphics_files_for_request = GraphicsFilesForRequest.new(video, edl_timecode_start(video))
EdlEventGateway.new(
graphics_files_for_request,
"00:00:00:00",
nil,
).edl_events
else
[]
end
end
def edl_timecode_start(video)
if video.edl_timecode_start.blank?
video.update(edl_timecode_start: start_timecode_offset(video))
end
video.edl_timecode_start
end
def all_edl_events(video)
EdlEventGateway.new(
FilesForRequest.new(video),
"00:00:00:00",
nil,
).edl_events
end
def start_timecode_offset(video)
EdlEventGateway.new(
FilesForRequest.new(video),
"00:00:00:00",
"00:00:00:00",
).edl_timecode_start
end
end