使用Paperclip和FFmpeg以及多种输出格式:如何在数据库中存储并在视图中显示特定的输出格式?
因为我想使用HTML5视频,我需要将用户上传的视频转换为多个编解码器。我正在关注本教程:http://jimneath.org/2008/06/03/converting-videos-with-rails-converting-the-video/但它只输出FLV,这是我根本不想要的格式。
我知道我可以添加更多FFmpeg命令并进行多次转换,但问题出在数据库和视图中。如何在DB中定义多个
source_file_name
s,如何在ѭ1中指定我想要的格式?我是否应该对Video
模型进行子类化,为每种类型或其他类型添加更多表格列?
没有找到相关结果
已邀请:
2 个回复
诫商
指定不同的视频格式,您可以创建自己的视频格式。在你的模型中,你会做这样的事情:
然后创建一个自定义处理器,根据每种样式运行正确的FFmpeg命令。有关详细信息,请参阅文档,但这是一个片段: 回形针处理器允许您 修改附加文件 以任何方式附加你能够。 Paperclip本身使用命令行 包含缩略图的程序 处理器,但自定义处理器 不需要效仿。 需要定义处理器 在Paperclip模块内部并且是 也需要成为的子类 回形针::处理器。只有 你必须实现的一种方法 正确地是一个子类:#make,但#initialize 也可能有用。两种方法都接受3个参数:文件 将被操作(这是一个 文件的实例),选项的哈希 在...定义 has_attached_file的样式哈希,和 Paperclip :: Attachment本身。 所有#make需要返回的是 文件的实例(Tempfile是 可接受的)包含结果 处理。 有关更多信息,请参阅Paperclip.run 有关使用命令行的信息 处理器内的实用程序。 创建指向Paperclip附件的链接时,您将传递样式以确定要链接到的样式:
宠封钞轰