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
							
								
									dc15c81e67
								
							
						
					
					
						commit
						8a2b8e0321
					
				@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user