通过Rails

时间:2016-06-15 22:54:40

标签: ruby-on-rails ruby ruby-on-rails-4 ffmpeg

在我的Rails应用程序中,我想使用ffmpeg在上传时为电影添加水印。

为此,我添加了stremio-ffmpeg gem。

我的代码如下所示:

options = {watermark: Rails.root.join('public/images/logo_klein.png'), watermark_filter: {position: "RT", padding_x: 10, padding_y: 10}, custom: '-strict experimental'}

tmp_path = File.join File.dirname(current_path), "tmp_file.mp4"
file = FFMPEG::Movie.new(self.file.path)
file.transcode(tmp_path, options)

File.rename tmp_path, current_path

但是我的图片没有添加到电影中。我打电话给http://localhost/images/logo_klein.php它显示在浏览器(图片)

没有添加到电影中可能会出现什么问题?当我按照控制台输出时,转码正常启动。但是没有提到仅仅转码的水印提法

控制台输出:

 INFO -- : Running transcoding...
ffmpeg -y -i /var/www/ji/public/uploads/tmp/1466030485-10470-0                                                              013-4987/2016-06-08_09.50.55.mp4   -strict experimental /var/www/ji/public/uploads/tmp/1466030485-10470-0013-4987/tmp_file.mp4

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

问题解决了

我通过callen the console

使用ffmpeg
system "ffmpeg -i #{self.file.path} -vf 'movie=#{watermarkimage} [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]' -strict experimental #{tmp_path}"