在我的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
可能是什么问题?
答案 0 :(得分:0)
问题解决了
我通过callen the console
使用ffmpegsystem "ffmpeg -i #{self.file.path} -vf 'movie=#{watermarkimage} [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]' -strict experimental #{tmp_path}"