LIBFAAC는 채널을 리샘플링할 수 없습니다.

LIBFAAC는 채널을 리샘플링할 수 없습니다.

비디오 파일을 MP4로 변환하는 데 사용하고 있지만 avconv다음을 사용하여 6개 또는 8개 채널의 파일을 2개 채널로 인코딩하려고 할 때마다 libfaac다음 오류 메시지가 나타납니다.

Can not resample 8 channels @ 44100 Hz to 2 channels @ 44100 Hz

(편집하다: 메시지의 전체 출력은 여기에서 찾을 수 있습니다.http://pastebin.com/UXGrBy1D)

다음은 우리가 설치한 코덱입니다 avconv:http://pastebin.com/hyQrqXqW

그리고 이것이 내가 실행하는 명령입니다:

avconv -y -i input.mp4 -vcodec libx264 -bufsize 20M -maxrate 4000k -threads 12 -same_quant -acodec libfaac -ac 2 -ar 44100 -ab 128k output.mp4

내가 뭔가 잘못하고 있는 걸까요?

libfaac아니면 어떤 대안이 있나요?~ 할 것이다8채널을 2채널로 리샘플링하시겠습니까?

내 우분투 12.04 서버의 명령줄에서 이 작업을 수행할 수 있어야 합니다.

답변1

먼저 아직 확인하지 않으셨다면 확인해 보세요.이 ffmpeg h.264 인코딩 가이드- avconv에도 적용됩니다. 모든 인스턴스를 로 변경 ffmpeg하세요 avconv. 또한 최신 버전의 avconv 또는 ffmpeg로 업그레이드하는 것을 고려해보세요. Ubuntu를 사용하고 있으므로 다음을 사용할 수 있습니다.이 PPA, 또는직접 컴파일해 보세요(이 마지막 옵션을 사용하면 다음 항목에 액세스할 수 있습니다.fdk_aac, 이는 FAAC보다 훨씬 더 나은 AAC 인코더입니다).

자신이 하고 있는 일을 정확히 알고 있거나 특별한 이유가 있는 경우가 아니면 를 사용해서는 안 됩니다 -bufsize 20M -maxrate 4000k -threads 12 -same_quant. 실제로 해당 페이스트빈의 입력으로 이동하면 아마도 -codec:v copy비디오 스트림을 건드리지 않는 을 사용해야 할 것입니다.

당신이 언급한 문제에 관해서는... 나는 libfaac이 당신의 문제라고 생각하지 않습니다. 여기를 보세요(pastebin에서):

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from \'/var/www/up/up50eefce404e4f.mp4\':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isomavc1mp42
    creation_time   : 2007-12-08 19:28:08
  Duration: 00:46:47.64, start: 0.000000, bitrate: 308 kb/s
    Stream #0.0(und): Audio: aac, 44100 Hz, stereo, s16, 111 kb/s
    Metadata:
      creation_time   : 2007-12-08 19:28:08
    Stream #0.1(und): Video: h264 (Baseline), yuv420p, 320x240 [PAR 1:1 DAR 4:3], 195 kb/s, 11.99 fps, 11.99 tbr, 11988 tbn, 23976 tbc
    Metadata:
      creation_time   : 2007-12-08 19:28:11

FFmpeg는 입력 오디오가 스테레오라고 생각합니다. 훨씬 나중에:

Input stream #0:0 frame changed from rate:44100 fmt:s16 ch:2 to rate:44100 fmt:s16 ch:8
Resampling output channel count must be 1 or 2 for mono input; 1, 2 or 6 for stereo input; or N for N channel input.
Can not resample 8 channels @ 44100 Hz to 2 channels @ 44100 Hz

비디오 스트림에서도 엄청난 오류가 발생합니다. 입력 내용이 손상된 것 같습니다.

그것은가능한다음 명령이 작동하는지 확인하세요.

avconv -ac 8 -i input.mp4 -c:v copy -c:a libfaac -b:a 128k -ac 2 output.mp4

-ac오디오 채널 수를 설정합니다.만약에-ac 8AAC 스트림이 손상되지 않은 경우 컨테이너 형식이 avconv에 잘못된 데이터를 제공하고 입력 앞에 놓으면 MP4 컨테이너에서 제공하는 설정이 재정의될 수 있습니다 ( -ac 2출력 앞에 놓으면 ffmpeg에 2개의 오디오 채널로 출력하도록 지시함). .

관련 정보