forked from cybrespace/mastodon
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
|
}.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 = {
|
VIDEO_FORMAT = {
|
||||||
format: 'mp4',
|
format: 'mp4',
|
||||||
content_type: 'video/mp4',
|
content_type: 'video/mp4',
|
||||||
|
@ -118,6 +77,37 @@ class MediaAttachment < ApplicationRecord
|
||||||
},
|
},
|
||||||
}.freeze
|
}.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 = {
|
VIDEO_CONVERTED_STYLES = {
|
||||||
small: VIDEO_STYLES[:small],
|
small: VIDEO_STYLES[:small],
|
||||||
original: VIDEO_FORMAT,
|
original: VIDEO_FORMAT,
|
||||||
|
|
Loading…
Reference in New Issue