diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb index 6e1b37bac..7383be3b2 100644 --- a/app/models/media_attachment.rb +++ b/app/models/media_attachment.rb @@ -55,18 +55,35 @@ class MediaAttachment < ApplicationRecord AUDIO_STYLES = { original: { - format: 'mp4', + format: 'm4a', convert_options: { output: { - filter_complex: '"[0:a]compand,showwaves=s=640x360:mode=line,format=yuv420p[v]"', - map: '"[v]" -map 0:a', - threads: 2, - vcodec: 'libx264', + vn: '', acodec: 'aac', movflags: '+faststart', }, }, }, + + small: { + format: 'png', + time: 0, + convert_options: { + output: { + filter_complex: '"showwavespic=s=400x100:colors=lime|green"', + }, + }, + }, + + thumb: { + format: 'png', + time: 0, + convert_options: { + output: { + filter_complex: '"showwavespic=s=400x100:colors=lime|green"', + }, + }, + }, }.freeze VIDEO_STYLES = { diff --git a/lib/paperclip/audio_transcoder.rb b/lib/paperclip/audio_transcoder.rb index 323ec7bfe..3d79e8397 100644 --- a/lib/paperclip/audio_transcoder.rb +++ b/lib/paperclip/audio_transcoder.rb @@ -7,16 +7,12 @@ module Paperclip meta = ::Av.cli.identify(@file.path) # {:length=>"0:00:02.14", :duration=>2.14, :audio_encode=>"mp3", :audio_bitrate=>"44100 Hz", :audio_channels=>"mono"} - if meta[:duration] > max_aud_len - raise Mastodon::ValidationError, "Audio uploads must be less than #{max_aud_len} seconds in length." - end - - final_file = Paperclip::Transcoder.make(file, options, attachment) - - attachment.instance.file_file_name = 'media.mp4' - attachment.instance.file_content_type = 'video/mp4' + + attachment.instance.file_file_name = 'media.m4a' + attachment.instance.file_content_type = 'audio/mp4' attachment.instance.type = MediaAttachment.types[:video] + final_file = Paperclip::Transcoder.make(file, options, attachment) final_file end end