gpt4 book ai didi

ruby-on-rails - Paperclip AV 转码器无法在远程服务器上运行

转载 作者:行者123 更新时间:2023-11-28 21:39:49 25 4
gpt4 key购买 nike

我可以在本地上传视频。视频使用回形针处理,所有元数据也正确保存。当我尝试使用我们的远程服务器上传视频时,我收到错误消息:

Av::UnableToDetect (Unable to detect any supported library)

我已经使用 LinuxBrew 安装了 ffmpeg。它说一切都已正确安装(检查哪个 brew 和哪个 ffmpeg,以及检查 gem 是否正确安装)。

当我在我的视频模型中设置样式时(这使得元信息得以存储并控制视频的上传方式)它无法远程工作。

has_attached_file :video, path: "/posts/:id/:style.:extension",
:styles => {
:medium => { :geometry => "493x877", :format => 'flv' },
:thumb => { :geometry => "100x100#", :format => 'jpg', :time => 10 },
# :mobile => {:geometry => "640X480", :format => 'mp4', :streaming => true}
}, :processors => [:transcoder]

但是,当我从我的模型中删除它时:

has_attached_file :video, path: "/posts/:id/:style.:extension"

视频已上传到 S3(没有我需要的数据或样式)。

如有任何帮助,我们将不胜感激。我认为 AV 在查找 ffmpeg 时遇到了麻烦,但我不确定为什么或如何修复它。在此先感谢您的任何建议。

最佳答案

我上周遇到了同样的问题 - 试试这个!

Video model:
has_attached_file :video, styles: {
:medium => {
:geometry => "640x480",
:format => 'mp4'
},
:thumb => { :geometry => "160x120", :format => 'jpeg', :time => 10}
}, :processors => [:transcoder]
validates_attachment_content_type :video, content_type: /\Avideo\/.*\Z/

确保您已经捆绑:

gem 'paperclip', '~> 4.3.1'
gem 'aws-sdk', '< 2.0'
gem 'paperclip-av-transcoder'
gem "paperclip-ffmpeg", "~> 1.2.0"

运行回形针迁移:

rails g paperclip model video

一定要在post_controller.rb中添加:

private

def bscenes_params
params.require(:post).permit(:video)
end

上传表格:

<%= f.file_field :video %>

显示页面:

<%= video_tag bscene.video.url(:medium), controls: true, style: "max-width: 100%;" %>

此时你应该得到这个错误:

Av::UnableToDetect (Unable to detect any supported library):

Mac

转到您的终端并输入:

brew options ffmpeg

然后运行以下命令安装ffmpeg:

对于旧版本的酿造配方:

brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libas

对于较新版本的酿造配方:

brew install ffmpeg --with-fdk-aac --with-sdl2 --with-freetype --with-frei0r --with-libass

适用于基于 Linux Mint/Ubuntu/Debian 的 Linux

打开一个终端(Ctrl + Alt + T)并执行以下命令来安装 ffmpeg。

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install ffmpeg

此时视频上传将在本地工作

现在对于远程上传,您需要设置 https://devcenter.heroku.com/articles/buildpacks

现在这应该会把你带到你的错误

Av::UnableToDetect (Unable to detect any supported library)

您需要在您的应用程序目录的根目录中创建一个 Procfile 更多关于 Procfile 的信息在这里:https://devcenter.heroku.com/articles/procfile

touch Procfile

希望这对您有所帮助!

关于ruby-on-rails - Paperclip AV 转码器无法在远程服务器上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31613800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com