2017-02-20 5 views
1

У меня есть текстовый файл с содержаниемПосле слияния видео, продолжительность слишком долго - FFmpeg

file intro.mp4 
file video.mp4 
file outtro.mp4 

с длительностью по 10s, 178s, 13s.

Я использую FFmpeg для слияния 3 файлов в один с командой ниже:

ffmpeg -f concat -i "file.txt" -vcodec copy -acodec copy "endfile.mp4" 

Продолжительность endfile.mp4 больше 11 минут (660s).

У меня есть вопрос, который which params of video affect to merge? И which common params to merge another videos?

Мой английский действительно слишком плохо. Извините за это :)
Хорошая работа на этой неделе!

P/S Детали инфор файлов:

intro.mp4:

ffprobe version N-82885-g6d09d6e Copyright (c) 2007-2016 the FFmpeg developers<br> 
    built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17)<br> 
    configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags='-L/root/ffmpeg_build/lib -ldl' --<br>bindir=/root/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libfreetype --enable-libmp3lame<br> --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265<br> 
    libavutil  55. 43.100/55. 43.100<br> 
    libavcodec  57. 68.100/57. 68.100<br> 
    libavformat 57. 61.100/57. 61.100<br> 
    libavdevice 57. 2.100/57. 2.100<br> 
    libavfilter  6. 68.100/6. 68.100<br> 
    libswscale  4. 3.101/4. 3.101<br> 
    libswresample 2. 4.100/2. 4.100<br> 
    libpostproc 54. 2.100/54. 2.100<br> 
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/path/to/intro.mp4':<br> 
    Metadata:<br> 
    major_brand  : isom<br> 
    minor_version : 512<br> 
    compatible_brands: isomiso2avc1mp41<br> 
    encoder   : Lavf56.23.100<br> 
    Duration: 00:00:10.08, start: -0.013061, bitrate: 701 kb/s<br> 
    Stream #0:0(und): Audio: aac (LC) (mp4a/0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)<br> 
    Metadata:<br> 
    handler_name : SoundHandler<br> 
    Stream #0:1(und): Video: h264 (High) (avc1/0x31637661), yuv420p, 1920x1080, 853 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)<br> 
    Metadata:<br> 
    handler_name : VideoHandler<br> 

outtro.mp4:

ffprobe version N-82885-g6d09d6e Copyright (c) 2007-2016 the FFmpeg developers<br> 
    built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17)<br> 
    configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags='-L/root/ffmpeg_build/lib -ldl' --<br>bindir=/root/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libfreetype --enable-libmp3lame<br> --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265<br> 
    libavutil  55. 43.100/55. 43.100<br> 
    libavcodec  57. 68.100/57. 68.100<br> 
    libavformat 57. 61.100/57. 61.100<br> 
    libavdevice 57. 2.100/57. 2.100<br> 
    libavfilter  6. 68.100/6. 68.100<br> 
    libswscale  4. 3.101/4. 3.101<br> 
    libswresample 2. 4.100/2. 4.100<br> 
    libpostproc 54. 2.100/54. 2.100<br> 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/path/to/outtro.mp4':<br> 
Metadata:<br> 
    major_brand  : isom<br> 
    minor_version : 512<br> 
    compatible_brands: isomiso2avc1mp41<br> 
    encoder   : Lavf56.23.100<br> 
Duration: 00:00:13.08, start: -0.013061, bitrate: 481 kb/s<br> 
Stream #0:0(und): Audio: aac (LC) (mp4a/0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)<br> 
Metadata:<br> 
    handler_name : SoundHandler<br> 
Stream #0:1(und): Video: h264 (High) (avc1/0x31637661), yuv420p, 1920x1080, 392 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)<br> 
Metadata:<br> 
    handler_name : VideoHandler<br> 

video.mp4

ffprobe version N-82885-g6d09d6e Copyright (c) 2007-2016 the FFmpeg developers<br> 
    built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17)<br> 
    configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags='-L/root/ffmpeg_build/lib -ldl' --<br>bindir=/root/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libfreetype --enable-libmp3lame<br> --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265<br> 
    libavutil  55. 43.100/55. 43.100<br><br> 
    libavcodec  57. 68.100/57. 68.100<br><br> 
    libavformat 57. 61.100/57. 61.100<br><br> 
    libavdevice 57. 2.100/57. 2.100<br><br> 
    libavfilter  6. 68.100/6. 68.100<br><br> 
    libswscale  4. 3.101/4. 3.101<br><br> 
    libswresample 2. 4.100/2. 4.100<br><br> 
    libpostproc 54. 2.100/54. 2.100<br><br> 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'path/to/video.mp4':<br> 
    Metadata:<br> 
     major_brand  : isom<br> 
     minor_version : 512<br> 
     compatible_brands: isomiso2avc1mp41<br> 
     encoder   : Lavf57.61.100<br> 
    Duration: 00:02:58.38, start: 0.000000, bitrate: 922 kb/s<br> 
     Stream #0:0(und): Video: h264 (High) (avc1/0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 782 kb/s, 29.97 fps, 29.97 tbr, 30k <br>tbn, 59.94 tbc (default)<br> 
     Metadata:<br> 
      handler_name : VideoHandler<br> 
     Stream #0:1(und): Audio: aac (LC) (mp4a/0x6134706D), 44100 Hz, stereo, fltp, 130 kb/s (default)<br> 
     Metadata:<br> 
      handler_name : SoundHandler<br> 
+1

Похоже несоответствием временной развертки. Покажите свойства трех файлов: 'ffprobe file.mp4' – Mulvya

+0

@Mulvya Я отредактировал мое сообщение. Теперь я получаю подробную информацию, как указано выше. Более подробную информацию я расскажу позже. Есть проблемы с ними? Конфликт каких-либо параметров? –

+0

Мне нужно использовать полный выход. – Mulvya

ответ

3

Разрешение, частота кадров и временные рамки входов/выходов и основных видео не совпадают.

Преобразование интро/аутро, как это и затем CONCAT:

ffmpeg -i intro.mp4 -s hd720 -r 30000/1001 -video_track_timescale 30k -c:a copy newintro.mp4 
+0

Его работа отлично. Я узнал много из вашего ответа. Tks bro так много! –