FFMPEG::将视频上传到生产时出错
Posted
技术标签:
【中文标题】FFMPEG::将视频上传到生产时出错【英文标题】:FFMPEG::Error on Uploading Video to production 【发布时间】:2016-01-29 04:34:21 【问题描述】:我目前正在开发一个涉及将视频上传到服务器的应用程序。该视频为 .MOV 格式,因为它来自 ios 设备。我已经在服务器上设置了 FFMPEG。但是每次我尝试上传视频时,都会出现 FFMPEG 错误:
FFMPEG::Error (Failed encoding.Errors: 编码文件无效。完整输出:ffmpeg 版本 2.0.1 版权所有 (c) 2000-2013 FFmpeg 开发者 使用 gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5) 于 2015 年 10 月 26 日 08:48:47 构建 配置:--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 libav 设备 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': 元数据: 主要品牌:qt 次要版本:0 兼容品牌:qt 创建时间: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 元数据: 创建时间: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 创建时间: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'
谁也遇到了和我一样的错误?你是怎么解决的?
【问题讨论】:
【参考方案1】:消息的关键部分是'编码器'aac'是实验性的,但实验性编解码器未启用,如果你想使用它,添加'-strict -2'。
您需要将此标志添加到您的 ffmpeg 命令中。例如,以下将压缩 mp4 视频的命令包含此标志:
ffmpeg -i BigBuckBunny_320x180.mp4 -strict experimental -acodec aac CompressedBBB_320x180_aac.mp4
【讨论】:
为我工作。但我使用github.com/streamio/streamio-ffmpeg gem。所以它只是custom: %w(-strict -2)
【参考方案2】:
通过安装最新的 FFMPEG 来修复它。 遵循本指南:https://gist.github.com/xdamman/e4f713c8cd1a389a5917
【讨论】:
以上是关于FFMPEG::将视频上传到生产时出错的主要内容,如果未能解决你的问题,请参考以下文章
用JAVA调用ffmpeg实现将各种视频格式转为flv时,怎样做出简单操作的界面?