2015-10-29 52 views
2

我目前正在开发一个应用程序,涉及上传视频到服务器。由于它来自iOS设备,因此该视频采用.MOV格式。我已经在服务器上设置了FFMPEG。但每次我尝试上传视频时,都会出现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/18.102 55. 了libavformat 55. 12.100/12.100 55. libavdevice 55. 3.100/3.100 55 libavfilter 3. 79.101/79.101 3. libswscale 2. 3.100/2. 3.100 l ibswresample 0. 17.102/0. 17.102 libpostproc 52. 3.100/52. 3.100 从'/ home/deploy/production/pinoymobiledirectory-ws/public/uploads输入#0,mov,mp4,m4a,3gp,3g2,mj2的/ tmp/20151029-0424-12438-7062/TMPFILE': 元数据: major_brand:QT minor_version:0 compatible_brands:QT CREATION_TIME:2015年10月29日4时24分11秒 时间:00:00:05.38 ,启动:0.000000,比特率:784 kb/s的 流#0:0(UND):音频:AAC(MP4A/0x6134706D),44100赫兹,单声道,fltp,63 kb/s的 元数据: CREATION_TIME:2015-10 -29 04:24:11 handler_name:Core Media Data Handler Stream#0:1(und):Video:h264(Basel (avc1/0x31637661),yuv420p,480x360,715 kb/s,30.11 fps,29.97 tbr,600 tbn,1200 tbc 元数据: rotate:90 creation_time:2015-10-29 04:24:11 handler_name :核心媒体数据处理程序 [aac @ 0x143c980]编码器'aac'是实验性的,但实验性编解码器未启用,如果要使用它,请添加'-strict -2'。 ):

的lib/carrierwave/ffmpeg.rb:19:encode_video' app/controllers/v1/businesses_assets_controller.rb:33:in upload_video”

任何人谁也得到了同样的错误我的吗?你是如何解决它的?

回答

1

该消息的关键部分是'编码器'aac'是实验性的,但实验性编解码器未启用,请添加'-strict -2'如果您想使用它'。

您需要将此标志添加到您的ffmpeg命令中。例如下面的命令,这将压缩的MP4视频,包含此标志:

的ffmpeg -i BigBuckBunny_320x180.mp4 -strict实验-acodec AAC CompressedBBB_320x180_aac.mp4

+0

为我工作。但我使用https://github.com/streamio/streamio-ffmpeg宝石。所以它只是'custom:%w(-strict -2)' –