@@ -17,6 +17,8 @@ import (
1717
1818type GenerateShortResult struct {
1919 VideoFile * paths.Path
20+ AudioFiles map [string ]paths.Path
21+ SubtitleFiles map [string ]paths.Path
2022 ShortVideoFile * paths.Path
2123 Keyframes []activities.Keyframe
2224}
@@ -52,15 +54,24 @@ func GenerateShort(ctx workflow.Context, params GenerateShortDataParams) (*Gener
5254 return nil , validationError ("InSeconds must be < OutSeconds" )
5355 }
5456
55- originalFile , err := wfutils .Execute (ctx , activities .Vidispine .GetFileFromVXActivity , vsactivity.GetFileFromVXParams {
56- VXID : params .VXID ,
57- Tags : []string {"original" },
57+ exportData , err := wfutils .Execute (ctx , activities .Vidispine .GetExportDataActivity , vsactivity.GetExportDataParams {
58+ VXID : params .VXID ,
59+ Languages : []string {"no" , "de" , "en" },
60+ AudioSource : vidispine .ExportAudioSourceEmbedded .Value ,
61+ Subclip : "" ,
62+ SubsAllowAI : true ,
5863 }).Result (ctx )
5964
6065 if err != nil {
6166 return nil , err
6267 }
6368
69+ if len (exportData .Clips ) != 1 {
70+ return nil , fmt .Errorf ("only one clip supported, got %d" , len (exportData .Clips ))
71+ }
72+
73+ // transcriptFile := exportData.Clips[0].JSONTranscriptFile
74+
6475 activityOptions := wfutils .GetDefaultActivityOptions ()
6576 ctx = workflow .WithActivityOptions (ctx , activityOptions )
6677
@@ -75,43 +86,21 @@ func GenerateShort(ctx workflow.Context, params GenerateShortDataParams) (*Gener
7586 return nil , err
7687 }
7788
78- originalFileName := originalFile .FilePath
79- fileNameWithoutExt := originalFileName .BaseNoExt ()
80- titleWithShort := fileNameWithoutExt + "_short"
81-
82- clip := vidispine.Clip {
83- VideoFile : originalFileName .Linux (),
84- InSeconds : params .InSeconds ,
85- OutSeconds : params .OutSeconds ,
86- SequenceIn : 0 ,
87- SequenceOut : params .OutSeconds - params .InSeconds ,
88- AudioFiles : nil ,
89- SubtitleFiles : nil ,
90- JSONTranscriptFile : "" ,
91- VXID : "" ,
92- }
93-
94- data := vidispine.ExportData {
95- Clips : []* vidispine.Clip {& clip },
96- SafeTitle : titleWithShort ,
97- Title : titleWithShort ,
98- ImportDate : nil ,
99- BmmTitle : nil ,
100- BmmTrackID : nil ,
101- OriginalLanguage : "no" ,
102- TranscribedLanguage : "" ,
103- }
89+ titleWithShort := exportData .Title + "_short"
90+ clip := exportData .Clips [0 ]
91+ clip .InSeconds = params .InSeconds
92+ clip .OutSeconds = params .OutSeconds
10493
10594 mergeExportDataParams := MergeExportDataParams {
106- ExportData : & data ,
95+ ExportData : exportData ,
10796 TempDir : tempFolder ,
10897 SubtitlesDir : subtitlesOutputDir ,
10998 MakeVideo : true ,
110- MakeAudio : false ,
99+ MakeAudio : true ,
111100 MakeSubtitles : true ,
112101 MakeTranscript : true ,
113- Languages : []string {"no" },
114- OriginalLanguage : data .OriginalLanguage ,
102+ Languages : []string {"no" , "de" , "en" },
103+ OriginalLanguage : exportData .OriginalLanguage ,
115104 }
116105
117106 var clipResult MergeExportDataResult
@@ -163,15 +152,15 @@ func GenerateShort(ctx workflow.Context, params GenerateShortDataParams) (*Gener
163152 }
164153 }
165154
166- shortVideoPath := tempFolder .Append (titleWithShort + "_cropped.mp4 " )
155+ shortVideoPath := tempFolder .Append (titleWithShort + "_cropped.mov " )
167156
168157 var cropRes activities.CropShortResult
169158 err = wfutils .Execute (ctx ,
170159 activities .Util .CropShortActivity ,
171160 activities.CropShortInput {
172- InputVideoPath : clipResult .VideoFile . Local () ,
173- AudioVideoPath : originalFileName . Linux () ,
174- OutputVideoPath : shortVideoPath . Local () ,
161+ InputVideoPath : * clipResult .VideoFile ,
162+ OutputVideoPath : shortVideoPath ,
163+ SubtitlePath : clipResult . SubtitleFiles [ "no" ] ,
175164 KeyFrames : keyframes ,
176165 InSeconds : params .InSeconds ,
177166 OutSeconds : params .OutSeconds ,
@@ -195,5 +184,7 @@ func GenerateShort(ctx workflow.Context, params GenerateShortDataParams) (*Gener
195184 VideoFile : clipResult .VideoFile ,
196185 ShortVideoFile : & shortVideoPath ,
197186 Keyframes : keyframes ,
187+ AudioFiles : clipResult .AudioFiles ,
188+ SubtitleFiles : clipResult .SubtitleFiles ,
198189 }, nil
199190}
0 commit comments