我目前正在开发一款涉及将视频上传到服务器的应用。视频是.MOV格式,因为它来自iOS设备。我已经在服务器上设置了FFMPEG。但每次我尝试上传视频时,都会出现FFMPEG错误:
FFMPEG ::错误(编码失败。错误:编码文件无效。完整输出:ffmpeg版本2.0.1版权所有(c)2000-2013 FFmpeg开发人员 建于2015年10月26日08:48:47,gcc 4.6(Ubuntu / Linaro 4.6.3-1ubuntu5) 配置: - enable-gpl --enable-version3 --enable-shared --enable-nonfree --enable-postproc libavutil 52. 38.100 / 52. 38.100 libavcodec 55. 18.102 / 55. 18.102 libavformat 55. 12.100 / 55. 12.100 libavdevice 55. 3.100 / 55. 3.100 libavfilter 3. 79.101 / 3. 79.101 libswscale 2. 3.100 / 2. 3.100 libswresample 0. 17.102 / 0.17.102 libpostproc 52. 3.100 / 52. 3.100 输入#0,mov,mp4,m4a,3gp,3g2,mj2,来自'/ home / deploy / production / pinoymobiledirectory -ws / public / uploads / tmp / 20151029-0424-12438-7062 / tmpfile': 元数据: major_brand:qt minor_version:0 compatible_brands:qt creation_time:2015-10-29 04:24:11 持续时间:00:00:05.38,开始:0.000000,比特率:784 kb / s 流#0:0(und):音频:aac(mp4a / 0x6134706D),44100 Hz,单声道,fltp,63 kb / s 元数据: creation_time:2015-10-29 04:24:11 handler_name:核心媒体数据处理程序 流#0:1(und):视频:h264(基线)(avc1 / 0x31637661),yuv420p,480x360,715 kb / s,30.11 fps,29.97 tbr,600 tbn,1200 tbc 元数据: 旋转:90 creation_time:2015-10-29 04:24:11 handler_name:核心媒体数据处理程序 [aac @ 0x143c980]编码器'aac'是实验性的,但实验编解码器未启用,如果要使用它,请添加'-strict -2'。 ):
lib / carrierwave / ffmpeg.rb:19:in encode_video'
app/controllers/v1/businesses_assets_controller.rb:33:in
upload_video'
任何人也遇到与我相同的错误?你是怎么解决的?
答案 0 :(得分:1)
信息的关键部分是编码器' aac'是实验性的,但实验编解码器未启用,添加' -strict -2'如果你想使用它'。
您需要将此标志添加到ffmpeg命令中。例如,以下命令将压缩mp4视频,其中包含以下标志:
ffmpeg -i BigBuckBunny_320x180.mp4 -strict experimental -acodec aac CompressedBBB_320x180_aac.mp4
答案 1 :(得分:0)
通过安装最新的FFMPEG修复它。 遵循本指南:https://gist.github.com/xdamman/e4f713c8cd1a389a5917