func (g Generator) TranscodeVideo(ctx context.Context, input string, hash string, options TranscodeOptions) error {
	lockCtx := g.LockManager.ReadLock(ctx, input)
	defer lockCtx.Cancel()

	return g.makeTranscode(lockCtx, hash, g.transcodeVideo(input, options))
}
// TranscodeVideo transcodes the video, and removes the audio.
// In some videos where the audio codec is not supported by ffmpeg,
// ffmpeg fails if you try to transcode the audio
TranscodeVideo transcodes the video, and removes the audio.
In some videos where the audio codec is not supported by ffmpeg,
ffmpeg fails if you try to transcode the audio
// TranscodeVideo transcodes the video and removes the audio . // In some videos where the audio codec is not supported by ffmpeg // ffmpeg fails if you try to transcode the audio
func (g Generator) TranscodeVideo(ctx context.Context, input string, hash string, options TranscodeOptions) error {
	lockCtx := g.LockManager.ReadLock(ctx, input)
	defer lockCtx.Cancel()
	return g.makeTranscode(lockCtx, hash, g.transcodeVideo(input, options))
}
func ( g Generator ) TranscodeVideo ( ctx context . Context , input string , hash string , options TranscodeOptions ) error { lockCtx := g . LockManager . ReadLock ( ctx , input ) defer lockCtx . Cancel ( ) return g . makeTranscode ( lockCtx , hash , g . transcodeVideo ( input , options ) ) }
TranscodeVideo transcodes the video, and removes the audio.
TranscodeVideo transcodes the video and removes the audio .