2

这个命令当然会起作用:

avconv -i input.mpg -c:v libx264 -s 852x480 -c:a libfaac output.mp4

但这会将 mpg 编码为具有以下音频设置的文件:

    {
        "index": 1,
        "codec_name": "mp2",
        "codec_long_name": "MP2 (MPEG audio layer 2)",
        "codec_type": "audio",
        "codec_time_base": "1/48000",
        "codec_tag_string": "mp4a",
        "codec_tag": "0x6134706d",
        "sample_fmt": "s16",
        "sample_rate": "48000",
        "channels": 2,
        "bits_per_sample": 0,
        "r_frame_rate": "0/0",
        "avg_frame_rate": "0/0",
        "time_base": "1/48000",
        "start_time": "0.000000",
        "duration": "60.000000",
        "nb_frames": "2500",
        "tags": {
            "language": "und",
            "handler_name": ""
        }
    }

这就是我需要的:

Resolution: 480p
Ratio: 1.78
Audio: 2 channel AAC
Video Bitrates: 600 / 800 / 1200 / 2000
Audio Bitrates: 96
Codec: H.264 - High

我试过了:

avconv -i input.mpg -c:v libx264 -s 852x480 -c:a libfaac output.mp4

但我得到错误:

Unknown encoder 'libfaac'

即使在我这样安装 libfaac-dev 之后:

sudo apt-get install libfaac-dev
4

1 回答 1

5

ffmpeg(avconv) 默认不使用 faac 构建。所以,如果你做了 sudo apt-get install avconv,那么可能没有 faac。这可以通过运行 ffmpeg -formats 来检查,也可以在 --enable-libfaac 的配置检查中进行检查。要修复它,您将通过在 ./config 步骤中添加 --enable-libfaac 来重新安装 ffmpeg。我按照本指南构建 ffmpeg:https ://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide

于 2012-07-09T08:22:42.917 回答