这是以下环境:
- 1and1 共享主机(他们没有安装 ffmpeg,都很好)
- 我构建了一个不需要动态加载共享库的静态 ffmpeg 二进制文件(我在 Ubuntu 系统上构建了这个)
- ffmpeg 二进制文件是完全可访问的并且能够访问
- 执行相同的命令终端或通过终端执行 php/perl 脚本工作正常......但是,通过浏览器/Web 请求的两个脚本都失败,并显示以下内容:
为输出流 #0:0 打开编码器时出错 - 可能是不正确的参数,例如 bit_rate、rate、width 或 height 大批 0 => 字符串 'ffmpeg 版本 git-2012-07-06-6936111 版权所有 (c) 2000-2012 FFmpeg 开发人员' (长度=83) 1 => 字符串 ' 使用 gcc 4.4.3 构建于 2012 年 7 月 5 日 23:04:34' (长度 = 46) 2 => 字符串'配置:--prefix='~/ffmpeg'--enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-static --disable-shared --extra-libs=-static --extra-cflags=-静态'(长度=323) 3 => 字符串'libavutil 51.64.100 / 51.64.100'(长度=40) 4 => 字符串'libavcodec 54.33.100 / 54.33.100'(长度=40) 5 => 字符串'libavformat 54.15.100 / 54.15.100'(长度=40) 6 => 字符串'libavdevice 54.1.100 / 54.1.100'(长度=40) 7 => 字符串'libavfilter 3.0.101 / 3.0.101'(长度=40) 8 => 字符串'libswscale 2.1.100 / 2.1.100'(长度=40) 9 => 字符串'libswresample 0.15.100 / 0.15.100'(长度=40) 10 => 字符串'libpostproc 52.0.100 / 52.0.100'(长度=40) 11 => 字符串'输入#0,image2,来自'http://axiomchurch.co/main/wp-content/plugins/video-embed-thumbnail-generator/flash/skin/images/PlayNormal.png':'(长度=136) 12 => 字符串'持续时间:00:00:00.04,开始:0.000000,比特率:N/A'(长度=54) 13 => string ' Stream #0:0: Video: png, rgba, 100x100, 25 tbr, 25 tbn, 25 tbc' (长度=66) 14 => string '[graph 0 input from stream 0:0 @ 0x9482000] w:100 h:100 pixfmt:rgba tb:1/25 fr:25/1 sar:0/1 sws_param:flags=2' (length= 109) 15 => 字符串'[输出流 0:0 @ 0x948ccc0] 未提供不透明字段'(长度=56) 16 => 字符串'[自动插入缩放器 0 @ 0x948d160] w:100 h:100 fmt:rgba sar:0/1 -> w:100 h:100 fmt:yuvj420p sar:0/1 标志:0x4'(长度=111) 17 => 字符串'[mjpeg @ 0x948c760] ff_frame_thread_encoder_init 失败'(长度=55) 18 => 字符串'输出#0,image2,到'/homepages/17/d411786663/htdocs/main/wp-content/uploads/2012/07/ffmpeg_exists_test%d.jpg':'(长度=113) 19 => string ' Stream #0:0: Video: mjpeg, yuvj420p, 100x100, q=2-31, 200 kb/s, 90k tbn, 25 tbc' (长度=83) 20 => 字符串'流映射:'(长度=15) 21 => 字符串'流#0:0 -> #0:0 (png -> mjpeg)' (长度=36) 22 => string 'Error while opening encoder for output stream #0:0 - 可能参数不正确,例如 bit_rate、rate、width 或 height'(长度=119)
正在执行的命令:
/kunden/homepages/17/.../htdocs/bin/ffmpeg -i http://....co/main/wp-content/plugins/video-embed-thumbnail-generator/flash/skin/images/PlayNormal.png -ac 2 /homepages/17/.../htdocs/main/wp-content/uploads/2012/07/ffmpeg_exists_test.jpg
你可以看到我有我的 ffmpeg 二进制文件的完整路径并且它正在执行。这是通过终端成功的样子:
ffmpeg 版本 git-2012-07-06-6936111 版权所有 (c) 2000-2012 FFmpeg 开发者 使用 gcc 4.4.3 于 2012 年 7 月 5 日 23:04:34 构建 配置: --prefix='~/ffmpeg' --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-static --disable-shared --extra-libs=-static --extra-cflags=-static libavutil 51. 64.100 / 51. 64.100 libavcodec 54. 33.100 / 54. 33.100 libavformat 54. 15.100 / 54. 15.100 libav 设备 54. 1.100 / 54. 1.100 libavfilter 3. 0.101 / 3. 0.101 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 15.100 / 0. 15.100 libpostproc 52. 0.100 / 52. 0.100 输入 #0,image2,来自“http://axiomchurch.co/main/wp-content/plugins/video-embed-thumbnail-generator/flash/skin/images/PlayNormal.png”: 持续时间:00:00:00.04,开始:0.000000,比特率:N/A 流#0:0:视频:png、rgba、100x100、25 tbr、25 tbn、25 tbc [来自流 0:0 @ 0x9482000 的图 0 输入] w:100 h:100 pixfmt:rgba tb:1/25 fr:25/1 sar:0/1 sws_param:flags=2 [输出流 0:0 @ 0x948ccc0] 未提供不透明字段 [自动插入缩放器 0 @ 0x948d160] w:100 h:100 fmt:rgba sar:0/1 -> w:100 h:100 fmt:yuvj420p sar:0/1 标志:0x4 输出#0,image2,到'/homepages/17/d411786663/htdocs/main/wp-content/uploads/2012/07/ffmpeg_exists_test.jpg': 元数据: 编码器:Lavf54.15.100 流 #0:0:视频:mjpeg、yuvj420p、100x100、q=2-31、200 kb/s、90k tbn、25 tbc 流映射: 流 #0:0 -> #0:0 (png -> mjpeg) 按 [q] 停止,按 [?] 寻求帮助 帧= 1 fps=0.0 q=0.0 Lsize= 0kB 时间=00:00:00.04 比特率= 0.0kbits/s 视频:2kB 音频:0kB 字幕:0 全局标题:0kB 复用开销 -100.000000%
在终端运行脚本的用户和 apache 用户是同一个用户......我已经验证了这一点。
关于 apache 正在运行的环境的某些事情正在杀死我……不幸的是,我无法访问 apache 错误日志。
作为旁注...我正在尝试将视频嵌入和缩略图生成器用于 wordpress。
任何帮助表示赞赏,谢谢!