Tag: ffmpeg

ffmpegvideo的条件旋转

我在使用Carrierwave-Video gem上传肖像video时遇到问题。 上传纵向video(特别是在移动设备上捕获的video)时,它们会顺时针旋转90度。 在Carrierwave-Video文档中,有一个动态配置选项,但我没有看到一种方法来动态传递自定义参数,以便根据video方向对video进行转码。 我知道如果我运行以下行,我可以将video旋转90度CCW: encode_video(:mp4, custom: “-vf transpose=1”) 但我需要一种可靠的方法来检测video是否需要旋转 。 我想知道是否有一些方法让我使用ffmpeg运行条件参数,只有在video是肖像时才运行。 如果它有用,这就是我的video上传器在我的Rails应用程序中的样子(出于某种原因,转码过程甚至在它检测到video的方向之前就已经运行了): require ‘carrierwave/processing/mime_types’ class VideoPathUploader video_width # rotate video Rails.logger.debug “portrait video” encode_video(:mp4, custom: “-vf transpose=1”, aspect: aspect_ratio) else encode_video(:mp4, aspect: aspect_ratio) end instance_variable_set(:@content_type, “video/mp4”) :set_content_type_mp4 end end

Heroku上的ffmpeg:无法识别的选项’预设’

我在我的本地Rails应用程序中使用ffmpeg版本1.2.4来转换video文件。 当我在本地运行应用程序时,一切都按预期工作。 当我部署到heroku时,我为ffmpeg添加了一个buildpack: https://github.com/shunjikonishi/heroku-buildpack-ffmpeg 这将安装ffmpeg版本git-2013-06-02-5711e4f。 当我尝试将video转码为mp4时,出现以下错误: 无法识别的选项’预设’。 拆分参数列表时出错:找不到选项 这是完整的日志: 2013-11-17T19:45:05.255059+00:00 app[web.1]: Running transcoding… 2013-11-17T19:45:05.255059+00:00 app[web.1]: ffmpeg -y -i /app/public/uploads/tmp/1384717504-2-9158/Untitled.mov -vcodec libx264 -acodec libfaac -s 640×360 -qscale 0 -preset slow -g 30 -aspect 1.7777777777777777 /app/public/uploads/tmp/1384717504-2-9158/tmpfile.mp4 2013-11-17T19:45:05.255059+00:00 app[web.1]: 2013-11-17T19:45:05.317895+00:00 app[web.1]: Failed encoding… 2013-11-17T19:45:05.317895+00:00 app[web.1]: ffmpeg -y -i /app/public/uploads/tmp/1384717504-2-9158/Untitled.mov -vcodec libx264 -acodec libfaac -s 640×360 -qscale 0 -preset […]

Heroku ffmpeg buildpacks用于video上传

是否有正确的方法来安装和运行heroku ffmpeg,以便我的用户可以在我的rails应用程序上传video? 尝试了关于该主题的Heroku引用,这导致我的应用程序运行heroku错误检查日志页面… 我知道必须有一些安装我必须通过,但似乎没有找到任何东西 – 请帮助链接或想法:)

让ffmpeg与Heroku一起工作

我试图为我的Heroku Rails应用程序安装ffmpeg,现在我的应用程序崩溃了。 我使用以下命令添加了一个buildpack: heroku config:add BUILDPACK_URL=https://github.com/shunjikonishi/heroku-buildpack-ffmpeg 推送到Heroku后,根据我的日志得到以下错误: 2013-11-17T17:50:44.022351+00:00 heroku[web.1]: Starting process with command `bundle exec rails server -p 47171` 2013-11-17T17:50:46.295602+00:00 app[web.1]: bash: bundle: command not found 2013-11-17T17:50:47.589491+00:00 heroku[web.1]: Process exited with status 127 2013-11-17T17:50:47.597968+00:00 heroku[web.1]: State changed from starting to crashed 2013-11-17T17:50:48.620853+00:00 heroku[router]: at=error code=H10 desc=”App crashed” method=GET path=/ (…) fwd=”76.118.180.235″ dyno= connect= service= status=503 […]

如何判断GIF是否动画?

我有这个带有Paperclip的Rails应用程序用于图像上传 – 但是如何检查图像是否是带有RMagick的动画GIF?

使用ffmpeg,ffprobe或rvideo在ruby脚本中获取video元数据

我想使用Ruby获取URL引用的video元数据。 此时,我发现了许多相关post,但无法找到如何解决我的问题。 我尝试使用RVideo,但是当我这样做时: file = RVideo :: Inspector.new(:file =>’http://www.agreatsite.com/avideo.mp4’) 它抛出 ‘ArgumentError:找不到文件(http://www.agreatsite.com/avideo.mp4)… 所以我无法使用RVideo获取信息(但是当我在本地计算机上托管文件时,它运行良好)。 然后我尝试使用ffprobe,但我不知道如何读取输出。 到目前为止,我有以下方法,当我在控制台中运行它时“显示”我想要的信息,但它实际上返回“true”,我无法找到如何捕获我需要的输出… def media_info source = self command = <<-end_command ffprobe -v quiet -print_format json -show_format -show_streams #{source} end_command command.gsub!(/\s+/, " ") system(command) end 希望得到一些帮助,使用ffprobe或RVideo来完成这项工作! 更新:我找到了一种方法来获得我需要的东西。 不确定这是最好的方法: def get_media_duration source = self.media[0][:url] command = < 1 end } duration 结束 我想我可以让它以这种方式工作,但对我来说似乎并不优雅。 更好的建议将不胜感激!

如何使用bash命令或Ruby使用ffmpeg将mp4文件批量转换为ogg

我正在运行OSX,不知道有关video转换的信息。 但我有200个video都是mp4格式,不能在Firefox中播放。 我需要将它们转换为ogg以使用html5video标记。 这些文件存在于文件夹结构中,这使得一次只能执行一个文件很困难。 我希望bash命令或Ruby命令遍历所有子文件夹并找到所有.mp4并转换它们。 我找到了一个如何使用Google的参考: http : //athmasagar.wordpress.com/2011/05/12/a-bash-script-to-convert-mp4-files-to-oggogv/ #!/bin/bash for f in $(ls *mp4 | sed ‘s/\(.*\)\..*/\1/’) do ffmpeg -i $f.mp4 -acodec vorbis -vcodec libtheora $f.ogg done 但不知道如何将其从linux转换为osx。

如何从video中提取方向信息?

浏览网上的大量文档后,似乎iPhone总是以480×360的宽高比拍摄video,并在video轨道上应用变换矩阵。 (480×360可能会改变,但对于给定的设备,它总是相同的) 这是一种在iOS项目中修改ffmpeg源并访问矩阵的方法http://www.seqoy.com/correct-orientation-for-iphone-recorded-movies-with-ffmpeg/ 以下是在iOS-4中查找转换矩阵的更简洁方法如果以纵向或横向方式记录video文件,如何检测(iPhone SDK)。 如何在以下任一选项中提取video的方向 – – iOS 3.2 – ffmpeg(通过命令行服务器端) – ruby 任何帮助将不胜感激。