账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    php 使用php-ffmpeg转换一个flv的文件为mp4的格式时,报了一个错,帮忙看看什么问题?
    44
    0

    我的代码:

    $ffmpeg = FFMpeg\FFMpeg::create();
    $video = $ffmpeg->open($save_path . 'www.flv');
    $format = new FFMpeg\Format\Video\X264();
    $video->save($format, $save_path . 'test.mp4');

    执行的时候报
    错误:Encoding failed;/home/ljg/workspace/tools.51safety/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Media/AbstractVideo.php 第106行;追溯:

    然后我到106行debug出日志,发现他执行的命令是下面的:

    '/usr/local/bin/ffmpeg' '-y' '-i' '/home/ljg/workspace/tools.51safety/upload/anquanwuyouwang/professional/resource/learning/www.flv' '-vcodec' 'libx264' '-acodec' 'libfaac' '-b:v' '1000k' '-refs' '6' '-coder' '1' '-sc_threshold' '40' '-flags' '+loop' '-me_range' '16' '-subq' '7' '-i_qfactor' '0.71' '-qcomp' '0.6' '-qdiff' '4' '-trellis' '1' '-b:a' '128k' '-pass' '1' '-passlogfile' '/tmp/ffmpeg-passes5be4fc1ec9c1auy3kq/pass-5be4fc1ec9cae' '/home/ljg/workspace/tools.51safety/upload/anquanwuyouwang/professional/resource/learning/test.mp4'
    

    然后我单独把这行命令放在ubuntu14.04的cli下面执行,执行报错信息如下
    ffmpeg version 2.1.1 Copyright (c) 2000-2013 the FFmpeg developers
    built on Nov 9 2018 11:02:30 with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
    configuration: --enable-nonfree --enable-libfaac --enable-gpl --enable-libx264
    libavutil 52. 48.101 / 52. 48.101
    libavcodec 55. 39.101 / 55. 39.101
    libavformat 55. 19.104 / 55. 19.104
    libavdevice 55. 5.100 / 55. 5.100
    libavfilter 3. 90.100 / 3. 90.100
    libswscale 2. 5.101 / 2. 5.101
    libswresample 0. 17.104 / 0. 17.104
    libpostproc 52. 3.100 / 52. 3.100
    Input #0, flv, from '/home/ljg/workspace/tools.51safety/upload/anquanwuyouwang/professional/resource/learning/www.flv':
    Metadata:

    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.41.100

    Duration: 00:03:54.84, start: 0.017000, bitrate: 389 kb/s

    Stream #0:0: Video: h264 (High), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 29.97 tbr, 1k tbn, 59.94 tbc
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, s16p, 64 kb/s

    [libx264 @ 0x2c87b60] using SAR=1/1
    [1] 3067 segmentation fault (core dumped) '/usr/local/bin/ffmpeg' '-y' '-i' '-vcodec' 'libx264' '-acodec' 'libfaac'

    就是报了一个segmentation fault (core dumped),是什么意思啊?我环境没有配置好么?

    2
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • 胡不乖 普通会员 1楼

      在使用PHP-ffmpeg进行FLV到MP4转换时,如果报错,通常会有一些提示信息。以下是可能导致报错的一些常见问题和解决方案:

      1. ffmpeg版本不兼容:请确保PHP-ffmpeg的版本与您的PHP环境兼容。如果您使用的是旧版本的ffmpeg,可能会遇到兼容性问题。

      2. ffmpeg库未正确安装:请确保ffmpeg库已经正确安装并且版本与PHP环境保持一致。可以通过在命令行中使用php -v命令来检查ffmpeg的版本。

      3. PHP配置文件错误:请检查PHP配置文件,确保配置文件中包含了ffmpeg的路径和参数。

      4. ffmpeg命令语法错误:请确保ffmpeg命令的语法正确。例如,您可能需要使用-i input.flv -c:v libx264 -preset slow -crf 22 -b:a aac -acodec copy output.mp4等命令。

      5. PHP环境问题:请检查PHP环境是否正确配置,例如是否已经安装了PHP-FPM等服务。

      6. PHP脚本错误:请检查PHP脚本是否正确配置,例如是否已经打开了正确的PHP环境。

      7. 浏览器兼容性问题:请确保在使用PHP-ffmpeg进行转换时,浏览器支持flv和mp4格式。

      希望这些信息能帮到您。如果问题仍然存在,可能需要更详细的信息或寻求专业的帮助。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部