Change video uploads to always be converted to H264/MP4 (#13220)
Even if the container format is the same (.mp4), the codec could be different and not playable in web browsers
This commit is contained in:
		
							parent
							
								
									0995464585
								
							
						
					
					
						commit
						a0c60d09ff
					
				
					 1 changed files with 31 additions and 41 deletions
				
			
		|  | @ -57,47 +57,6 @@ class MediaAttachment < ApplicationRecord | |||
|     }, | ||||
|   }.freeze | ||||
| 
 | ||||
|   VIDEO_STYLES = { | ||||
|     small: { | ||||
|       convert_options: { | ||||
|         output: { | ||||
|           'loglevel' => 'fatal', | ||||
|           vf: 'scale=\'min(400\, iw):min(400\, ih)\':force_original_aspect_ratio=decrease', | ||||
|         }, | ||||
|       }, | ||||
|       format: 'png', | ||||
|       time: 0, | ||||
|       file_geometry_parser: FastGeometryParser, | ||||
|       blurhash: BLURHASH_OPTIONS, | ||||
|     }, | ||||
| 
 | ||||
|     original: { | ||||
|       keep_same_format: true, | ||||
|       convert_options: { | ||||
|         output: { | ||||
|           'loglevel' => 'fatal', | ||||
|           'map_metadata' => '-1', | ||||
|           'c:v' => 'copy', | ||||
|           'c:a' => 'copy', | ||||
|         }, | ||||
|       }, | ||||
|     }, | ||||
|   }.freeze | ||||
| 
 | ||||
|   AUDIO_STYLES = { | ||||
|     original: { | ||||
|       format: 'mp3', | ||||
|       content_type: 'audio/mpeg', | ||||
|       convert_options: { | ||||
|         output: { | ||||
|           'loglevel' => 'fatal', | ||||
|           'map_metadata' => '-1', | ||||
|           'q:a' => 2, | ||||
|         }, | ||||
|       }, | ||||
|     }, | ||||
|   }.freeze | ||||
| 
 | ||||
|   VIDEO_FORMAT = { | ||||
|     format: 'mp4', | ||||
|     content_type: 'video/mp4', | ||||
|  | @ -118,6 +77,37 @@ class MediaAttachment < ApplicationRecord | |||
|     }, | ||||
|   }.freeze | ||||
| 
 | ||||
|   VIDEO_STYLES = { | ||||
|     small: { | ||||
|       convert_options: { | ||||
|         output: { | ||||
|           'loglevel' => 'fatal', | ||||
|           vf: 'scale=\'min(400\, iw):min(400\, ih)\':force_original_aspect_ratio=decrease', | ||||
|         }, | ||||
|       }, | ||||
|       format: 'png', | ||||
|       time: 0, | ||||
|       file_geometry_parser: FastGeometryParser, | ||||
|       blurhash: BLURHASH_OPTIONS, | ||||
|     }, | ||||
| 
 | ||||
|     original: VIDEO_FORMAT, | ||||
|   }.freeze | ||||
| 
 | ||||
|   AUDIO_STYLES = { | ||||
|     original: { | ||||
|       format: 'mp3', | ||||
|       content_type: 'audio/mpeg', | ||||
|       convert_options: { | ||||
|         output: { | ||||
|           'loglevel' => 'fatal', | ||||
|           'map_metadata' => '-1', | ||||
|           'q:a' => 2, | ||||
|         }, | ||||
|       }, | ||||
|     }, | ||||
|   }.freeze | ||||
| 
 | ||||
|   VIDEO_CONVERTED_STYLES = { | ||||
|     small: VIDEO_STYLES[:small], | ||||
|     original: VIDEO_FORMAT, | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue