2017-02-26 1 views
0

문제는 concat demuxer로 두 개의 m4a 파일을 연결할 때 ffmpeg가 지속 시간이 잘못된 파일을 생성한다는 것입니다. 출력 파일의 지속 시간이 두 입력 파일의 지속 시간과 매우 다른 것을 볼 수 있습니다. 문제를 해결할 수 있도록 도와주세요. 궁극적 인 목표는 오디오 파일의 끝에 조용한 오디오를 추가하는 것입니다. 이를 위해 ffmpeg로 무성음 오디오 파일을 생성 한 다음 다른 오디오 파일과 연결하려고 시도합니다.FFmpeg가 두 개의 m4a 파일을 잘못 연결합니다.

[[email protected] server]$ cat temp.txt 
file /home/ec2-user/videoData/DnXptC4ld8/FADING_OUT_VOLUP_Blrt_Decrypt_1ed5c4d569d8a1f23428b65217f65eaf_audio.m4a 
file /home/ec2-user/videocreation/temp/silence.m4a 

: 나는 TEMP.TXT에 나와있는 두 개의 파일 경로가

ffmpeg -f concat -safe 0 -i temp.txt -c copy output.m4a 

: 나는 CONCAT에 사용

ffmpeg -nostdin -loglevel error -y -threads 0 -filter_complex aevalsrc=0 -t 4 /home/ec2-user/videocreation/temp/silence.m4a 

명령 :

명령 나는 오디오 파일을 생성하는 데 사용 첫 번째 파일 ffprobe :

[[email protected] server]$ ffprobe /home/ec2-user/videoData/DnXptC4ld8/FADING_OUT_VOLUP_Blrt_Decrypt_1ed5c4d569d8a1f23428b65217f65eaf_audio.m4a 
ffprobe version N-80097-g89e9393 Copyright (c) 2007-2016 the FFmpeg developers 
    built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4) 
    configuration: --prefix=/home/ec2-user/ffmpeg_build --extra-cflags=-I/home/ec2-user/ffmpeg_build/include --extra-ldflags=-L/home/ec2-user/ffmpeg_build/lib --bindir=/home/ec2-user/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 
    libavutil  55. 24.100/55. 24.100 
    libavcodec  57. 43.100/57. 43.100 
    libavformat 57. 37.100/57. 37.100 
    libavdevice 57. 0.101/57. 0.101 
    libavfilter  6. 46.100/6. 46.100 
    libswscale  4. 1.100/4. 1.100 
    libswresample 2. 0.101/2. 0.101 
    libpostproc 54. 0.100/54. 0.100 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/ec2-user/videoData/DnXptC4ld8/FADING_OUT_VOLUP_Blrt_Decrypt_1ed5c4d569d8a1f23428b65217f65eaf_audio.m4a': 
    Metadata: 
    major_brand  : M4A 
    minor_version : 512 
    compatible_brands: isomiso2 
    encoder   : Lavf57.44.100 
    Duration: 00:00:01.77, start: 0.000000, bitrate: 4 kb/s 
    Stream #0:0(und): Audio: aac (LC) (mp4a/0x6134706D), 11025 Hz, mono, fltp, 0 kb/s (default) 
    Metadata: 
     handler_name : SoundHandler 

두 번째 파일 ffprobe :

[[email protected] server]$ ffprobe /home/ec2-user/videocreation/temp/silence.m4a 
ffprobe version N-80097-g89e9393 Copyright (c) 2007-2016 the FFmpeg developers 
    built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4) 
    configuration: --prefix=/home/ec2-user/ffmpeg_build --extra-cflags=-I/home/ec2-user/ffmpeg_build/include --extra-ldflags=-L/home/ec2-user/ffmpeg_build/lib --bindir=/home/ec2-user/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 
    libavutil  55. 24.100/55. 24.100 
    libavcodec  57. 43.100/57. 43.100 
    libavformat 57. 37.100/57. 37.100 
    libavdevice 57. 0.101/57. 0.101 
    libavfilter  6. 46.100/6. 46.100 
    libswscale  4. 1.100/4. 1.100 
    libswresample 2. 0.101/2. 0.101 
    libpostproc 54. 0.100/54. 0.100 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/ec2-user/videocreation/temp/silence.m4a': 
    Metadata: 
    major_brand  : M4A 
    minor_version : 512 
    compatible_brands: isomiso2 
    encoder   : Lavf57.44.100 
    Duration: 00:00:04.02, start: 0.000000, bitrate: 4 kb/s 
    Stream #0:0(und): Audio: aac (LC) (mp4a/0x6134706D), 44100 Hz, mono, fltp, 1 kb/s (default) 
    Metadata: 
     handler_name : SoundHandler 

출력 파일 ffprobe :

[[email protected] server]$ ffprobe output.m4a 
ffprobe version N-80097-g89e9393 Copyright (c) 2007-2016 the FFmpeg developers 
    built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4) 
    configuration: --prefix=/home/ec2-user/ffmpeg_build --extra-cflags=-I/home/ec2-user/ffmpeg_build/include --extra-ldflags=-L/home/ec2-user/ffmpeg_build/lib --bindir=/home/ec2-user/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 
    libavutil  55. 24.100/55. 24.100 
    libavcodec  57. 43.100/57. 43.100 
    libavformat 57. 37.100/57. 37.100 
    libavdevice 57. 0.101/57. 0.101 
    libavfilter  6. 46.100/6. 46.100 
    libswscale  4. 1.100/4. 1.100 
    libswresample 2. 0.101/2. 0.101 
    libpostproc 54. 0.100/54. 0.100 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.m4a': 
    Metadata: 
    major_brand  : M4A 
    minor_version : 512 
    compatible_brands: isomiso2 
    encoder   : Lavf57.37.100 
    Duration: 00:00:23.22, start: 0.000000, bitrate: 0 kb/s 
    Stream #0:0(und): Audio: aac (LC) (mp4a/0x6134706D), 11025 Hz, mono, fltp, 0 kb/s (default) 
    Metadata: 
     handler_name : SoundHandler 

답변

0

파일은 동일한 속성이 필요합니다. 무음 파일의 샘플링 속도가 다릅니다. 사용

ffmpeg -f lavfi -i anullsrc -ar 11025 -ac 1 -t 4 silence.m4a 
+0

Dammit 샘플링 빈도가 빠진 조각 퍼즐 !!!!! – asad

+1

@asad 차이는 없지만'anullsrc = r = 11025 : cl = mono'을 사용하고'-ar'과'-ac'을 생략 할 수 있습니다. – LordNeckbeard

관련 문제