Detect videos with no sound, handle them like gifv
This commit is contained in:
		
							parent
							
								
									4fb95c91fb
								
							
						
					
					
						commit
						85fce04d1b
					
				| @ -80,7 +80,7 @@ class MediaAttachment < ApplicationRecord | |||||||
|       if f.file_content_type == 'image/gif' |       if f.file_content_type == 'image/gif' | ||||||
|         [:gif_transcoder] |         [:gif_transcoder] | ||||||
|       elsif VIDEO_MIME_TYPES.include? f.file_content_type |       elsif VIDEO_MIME_TYPES.include? f.file_content_type | ||||||
|         [:transcoder] |         [:video_transcoder] | ||||||
|       else |       else | ||||||
|         [:thumbnail] |         [:thumbnail] | ||||||
|       end |       end | ||||||
|  | |||||||
| @ -8,6 +8,7 @@ Bundler.require(*Rails.groups) | |||||||
| 
 | 
 | ||||||
| require_relative '../app/lib/exceptions' | require_relative '../app/lib/exceptions' | ||||||
| require_relative '../lib/paperclip/gif_transcoder' | require_relative '../lib/paperclip/gif_transcoder' | ||||||
|  | require_relative '../lib/paperclip/video_transcoder' | ||||||
| 
 | 
 | ||||||
| Dotenv::Railtie.load | Dotenv::Railtie.load | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										14
									
								
								lib/paperclip/video_transcoder.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								lib/paperclip/video_transcoder.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | |||||||
|  | # frozen_string_literal: true | ||||||
|  | 
 | ||||||
|  | module Paperclip | ||||||
|  |   # This transcoder is only to be used for the MediaAttachment model | ||||||
|  |   # to check when uploaded videos are actually gifv's | ||||||
|  |   class VideoTranscoder < Paperclip::Processor | ||||||
|  |     def make | ||||||
|  |       meta = ::Av.cli.identify(@file.path) | ||||||
|  |       attachment.instance.type = MediaAttachment.types[:gifv] unless meta[:audio_encode] | ||||||
|  | 
 | ||||||
|  |       Paperclip::Transcoder.make(file, options, attachment) | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | end | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user