Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不工作在远程服务器上的回形针AV转换器

不工作在远程服务器上的回形针AV转换器
EN

Stack Overflow用户
提问于 2015-07-24 06:59:57
回答 1查看 2.8K关注 0票数 7

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

代码语言:javascript
运行
AI代码解释
复制
Av::UnableToDetect (Unable to detect any supported library)

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

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

代码语言:javascript
运行
AI代码解释
复制
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]

但是,当我将其从模型中移除并具有:

代码语言:javascript
运行
AI代码解释
复制
has_attached_file :video, path: "/posts/:id/:style.:extension"

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

任何帮助都将不胜感激。我认为AV有困难找到ffmpeg,但我不知道为什么或如何着手修复它。事先谢谢您的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-16 23:26:51

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

代码语言:javascript
运行
AI代码解释
复制
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/

确保你已经打包好了:

代码语言:javascript
运行
AI代码解释
复制
gem 'paperclip', '~> 4.3.1'
gem 'aws-sdk', '< 2.0'
gem 'paperclip-av-transcoder'
gem "paperclip-ffmpeg", "~> 1.2.0"

运行回形针迁移:

代码语言:javascript
运行
AI代码解释
复制
rails g paperclip model video

一定要添加post_controller.rb:

代码语言:javascript
运行
AI代码解释
复制
private

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

上传表格:

代码语言:javascript
运行
AI代码解释
复制
<%= f.file_field :video %>

显示页:

代码语言:javascript
运行
AI代码解释
复制
<%= video_tag bscene.video.url(:medium), controls: true, style: "max-width: 100%;" %>

此时,您应该得到以下错误:

Av::UnableToDetect (无法检测到任何支持的库):

For Mac

到您的终端输入:

代码语言:javascript
运行
AI代码解释
复制
brew options ffmpeg

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

对于较早版本的brew配方:

代码语言:javascript
运行
AI代码解释
复制
brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libas

对于较新版本的brew配方:

代码语言:javascript
运行
AI代码解释
复制
brew install ffmpeg --with-fdk-aac --with-sdl2 --with-freetype --with-frei0r --with-libass

基于Linux / Ubuntu / Debian的

打开一个终端(Ctrl + Alt + T),然后依次执行以下命令来安装ffmpeg。

代码语言:javascript
运行
AI代码解释
复制
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 (无法检测到任何支持的库)

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

代码语言:javascript
运行
AI代码解释
复制
touch Procfile

希望这能有所帮助!

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31613800

复制
相关文章
SpringBoot中JPA的基本使用
JPA(Java Persistence API)是Java的持久化API,用于对象的持久化。它是一个非常强大的ORM持久化的解决方案,免去了使用JDBCTemplate 开发的编写脚本工作。JPA通过简单约定好接口方法的规则自动生成相应的 JPQL 语句,然后映射成 POJO 对象。
砒霜拌辣椒
2023/08/23
1.4K0
SpringBoot中JPA的基本使用
Spring Boot JPA 中transaction的使用
transaction是我们在做数据库操作的时候不能回避的一个话题,通过transaction,我们可以保证数据库操作的原子性,一致性,隔离性和持久性。
程序那些事
2020/07/08
2.3K0
Spring Boot JPA中关联表的使用
本文中,我们会将会通过一个Book和Category的关联关系,来讲解如何在JPA中使用。
程序那些事
2020/07/08
2.2K0
使用JPA中@Query 注解实现update 操作
使用JPA中@Query 注解实现update 操作,代码如下: @Transactional @Modifying(clearAutomatically = true) @Query(value =
hbbliyong
2018/03/06
1.3K0
使用JPA中@Query 注解实现update 操作
spring使用jpa进行update操作主要有两种方式: 1、调用保存实体的方法 1)保存一个实体:repository.save(T entity) 2)保存多个实体:repository.save(Iterable<T> entities) 3)保存并立即刷新一个实体:repository.saveAndFlush(T entity) 注:若是更改,entity中必须设置了主键字段,不然不能对应上数据库中的记录,变成新增(数据库自动生成主键)或报错(数据库不自动生成主键)了 2、@Query注解,自己
hbbliyong
2018/03/06
2.3K0
JPA 中 sql 预编译 -- EntityManager 使用 预编译
实现方式 : 1. 注入em: @PersistenceContext private EntityManager entityManager; 注入方式 2: @PersistenceUnit private EntityManagerFactory emf; 2. 得到em: private EntityManager getEm() { return this.entityManager; } 对应第2种注入方式: /** * 得EntityM
微风-- 轻许--
2022/04/13
7550
【Google Play】从 Android 应用中跳转到 Google Play 中 ( 跳转代码示例 | Google Play 页面的链接格式 | Google Play 免安装体验 )
首先 , 创建 Intent , 设置其 Action 为 “android.intent.action.VIEW” ,
韩曙亮
2023/03/30
6.3K0
ExtJS中的全局变量的保存和使用
前阵子研究ExtJS,对于如何在Sencha Architect软件中使用全局变量伤透了脑筋。现在我一共发现了两种:
提莫队长
2019/03/01
2.4K0
ExtJS中的全局变量的保存和使用
JPA实体类中的注解
@Entity   标注于实体类上,通常和@Table是结合使用的,代表是该类是实体类 @Table   标注于实体类上,表示该类映射到数据库中的表,没有指定名称的话就表示与数据库中表名为该类的简单类名的表名相对应,如果是逆向生成表的话就会以简单类名作为表名   如果指定名称,例如@Table(name="tb_user"),就表示映射到数据库中的tb_userz这个表; @Id   标注于属性上,通常是在get方法上,也可以在属性的声明上。   用于表示该属性作为ID主键 @GeneratedValue
二十三年蝉
2018/03/29
4.1K0
工作流中的数据持久化详解!Activiti框架中JPA的使用分析
上面的例子展示了JPA结合Spring和参数化方法表达式的强大优势 :所有的流程就不需要自定义java代码(Spring bean除外),大幅度的加快了流程部署
攻城狮Chova
2022/01/22
1.9K0
工作流中的数据持久化详解!Activiti框架中JPA的使用分析
迈外迪CEO张程:在商业中,可供参考的数据大约只有总数的30%
迈外迪CEO张程:在商业中,可供参考的数据大约只有总数的30%
数据猿
2018/04/25
1.1K0
迈外迪CEO张程:在商业中,可供参考的数据大约只有总数的30%
javascript中的后退和刷新
<input type=button value=刷新 onclick=”window.location.reload()”> <input type=button value=前进 onclick=”window.history.go(1)”> <input type=button value=后退 onclick=”window.history.go(-1)”> <input type=button value=前进 onclick=”window.history.forward()”> <input type=button value=后退 onclick=”window.history.back()”> 后退+刷新<input type=button value=后退 onclick=”window.history.go(-1);window.location.reload()”>在C# Web程序中,如为页面按钮写返回上一页代码
全栈程序员站长
2022/09/06
9510
spring data jpa @Query注解中delete语句报错 : @Modifying注解的使用spring data jpa @Query注解中delete语句报错
spring data jpa @Query注解中delete语句报错 项目中需要删除掉表中的一些数据 @Query("delete from EngineerServices es where es
一个会写诗的程序员
2018/08/17
2.1K0
Sequence在Oracle中的使用
  Oracle中,当需要建立一个自增字段时,需要用到sequence。sequence也可以在mysql中使用,但是有些差别,日后再补充,先把oracle中sequence的基本使用总结一下,方便日后查阅。
庞小明
2018/08/01
5.5K0
Transformer 在RxJava中的使用
Transformer,顾名思义是转换器的意思。早在 RxJava1.x 版本就有了Observable.Transformer、Single.Transformer和Completable.Transformer,在2.x版本中变成了ObservableTransformer、SingleTransformer、CompletableTransformer、FlowableTransformer和MaybeTransformer。其中,FlowableTransformer和MaybeTransformer是新增的。由于 RxJava2 将Observable拆分成 Observable 和 Flowable,所以多了一个FlowableTransformer。同时,Maybe是 RxJava2 新增的一个类型,所以多了MaybeTransformer。
fengzhizi715
2018/08/24
8K0
Transformer 在RxJava中的使用
iptables在centos中的使用
yum install -y iptables && yum install -y iptables-services
93年的老男孩
2019/12/18
11.2K0
XML 在SQLServer中的使用
SQL Server对于XML支持的核心在于XML数据的格式,这种数据类型可以将XML的数据存储于数据库的对象中,比如variables, columns, and parameters。当你用XML数据类型配置这些对象中的一个时,你指定类型的名字就像你在SQLServer 中指定一个类型一样。 XML的数据类型确保了你的XML数据被完好的构建保存,同时也符合ISO的标准。在定义一个XML数据类型之前,我们首先要知道它的几种限制,如下: 一个实例的XML列不能包含超过2GB的数据。 一个XML的列不能是索引
用户1217611
2018/01/30
7.9K0
Dotenv在nestjs中的使用
Dotenv 是一个零依赖的模块,它能将环境变量中的变量从 .env 文件加载到 process.env 中。
挥刀北上
2021/12/20
17.2K1
Dotenv在nestjs中的使用
PageHelper在springboot中的使用
使用PageHelper.startPage 静态方法调用startPage : 特点:
知识浅谈
2021/03/03
4.1K0
点击加载更多

相似问题

在Play Framework1.x/ JPA中使用" in“构建查询有更简单的方法吗?

15

使用Play Framework1.x,如何让JPA在生产模式下创建缺少的DB表?

11

Play Framework1.x webfonts CORs问题

17

JPA在刷新之前保存瞬态实例

11

使用@AllowFeature方法的Play Framework1.x函数测试

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档