如何使用Paperclip在Ruby on Rails(5)中为音频文件创建自定义处理器

时间:2016-11-11 11:51:02

标签: ruby-on-rails ffmpeg paperclip

因此我尝试使用Paperclip自定义处理器和ffmpeg将mp3文件转换为.flac。以下代码运行ffmpeg命令并创建临时flac文件。但是,它没有保存?目前只保存原始文件。我在这里错过了什么?

<div class="x"></div>
<div class="y"></div>
<div class="z"></div>

自定义处理器

class AudioFile < ApplicationRecord
  has_attached_file :raw_audio, processors: [:custom], styles: { original: {}}

1 个答案:

答案 0 :(得分:1)

陷入完全相同的问题。

你可以直接使用ffmpeg(注意反引号)

`ffmpeg -i <original_file_path.mp3> <new_file_path.flac>`

您可以执行各种其他操作(对于Google Speech API,还需要这样做)。

e.g。如果你有一个立体声的mp3文件,你将需要

压缩成单声道:

`ffmpeg -i file.mp3 -ac 1 file_mono.flac`

或拆分渠道:

`ffmpeg -i file.mp3 -map_channel 0.0.0 left_file.flac -map_channel 0.0.1 right_file.flac`

否则API将不接受它。