Você está usando uma versão muito antiga do FFmpeg, que provavelmente não consegue lidar com esse formato de arquivo da maneira certa. Atualize o FFmpeg para uma versão recente que pode ser encontrada na página de download do FFmpeg
Eu tenho o FFMPEG instalado no meu sistema CentoS 6 x64:
FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
built on Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
libavutil 50.15. 1 / 50.15. 1
libavcodec 52.72. 2 / 52.72. 2
libavformat 52.64. 2 / 52.64. 2
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.19. 0 / 1.19. 0
libswscale 0.11. 0 / 0.11. 0
libpostproc 51. 2. 0 / 51. 2. 0
Estou tentando concatenar vídeos enviados de celulares - eles podem ser qualquer mistura de uploads para Android e iPhone. Este processo parece funcionar bem para vídeos do iPhone, mas para vídeos Android (3GP4), ele continua copiando os mesmos quadros e avança muito lentamente:
[root@ks383641 html]# ./interleave.sh /mnt/content/09zmWtIt8EvimTIy.mp4 /mnt/content/09zmWtIt8EvimTIy.mp4 out.mp4
MultiMedia Concat Script v1.3 (mmcat) - A script to concatenate multiple multimedia files.
Based on FFmpeg - www.ffmpeg.org
Don't forget to edit this script and change EXTRA_OPTIONS
FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
built on Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
libavutil 50.15. 1 / 50.15. 1
libavcodec 52.72. 2 / 52.72. 2
libavformat 52.64. 2 / 52.64. 2
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.19. 0 / 1.19. 0
libswscale 0.11. 0 / 0.11. 0
libpostproc 51. 2. 0 / 51. 2. 0
[u16le @ 0xff3690]Estimating duration from bitrate, this may be inaccurate
Input #0, u16le, from '/tmp/mcs_a_all':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0.0: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
[yuv4mpegpipe @ 0xffce20]Estimating duration from bitrate, this may be inaccurate
Input #1, yuv4mpegpipe, from '/tmp/mcs_v_all':
Duration: N/A, bitrate: N/A
Stream #1.0: Video: rawvideo, yuv420p, 1920x1080, 90k tbr, 90k tbn, 90k tbc
File 'out.mp4' already exists. Overwrite ? [y/N] y
[libx264 @ 0x1007a90]MB rate (734400000) > level limit (983040)
[libx264 @ 0x1007a90]using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
[libx264 @ 0x1007a90]profile Constrained Baseline, level 5.1
[libx264 @ 0x1007a90]264 - core 107 - H.264/MPEG-4 AVC codec - Copyleft 2003-2010 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0x1:0 me=dia subme=0 psy=1 psy_rd=0.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 ip_ratio=1.41 aq=0
Output #0, mp4, to 'out.mp4':
Metadata:
encoder : Lavf52.64.2
Stream #0.0: Video: libx264, yuv420p, 1920x1080, q=10-51, 200 kb/s, 90k tbn, 90k tbc
Stream #0.1: Audio: libfaac, 44100 Hz, 2 channels, s16, 128 kb/s
Stream mapping:
Stream #1.0 -> #0.0
Stream #0.0 -> #0.1
Press [q] to stop encoding
frame= 1662 fps=239 q=-1.0 Lsize= 378kB time=0.02 bitrate=167700.6kbits/s dup=0 drop=17
video:364kB audio:0kB global headers:0kB muxing overhead 3.895104%
[libx264 @ 0x1007a90]frame I:7 Avg QP:18.29 size: 45202
[libx264 @ 0x1007a90]frame P:1655 Avg QP:21.00 size: 34
[libx264 @ 0x1007a90]mb I I16..4: 77.0% 0.0% 23.0%
[libx264 @ 0x1007a90]mb P I16..4: 0.0% 0.0% 0.0% P16..4: 0.0% 0.0% 0.0% 0.0% 0.0% skip:99.9%
[libx264 @ 0x1007a90]coded y,uvDC,uvAC intra: 20.0% 35.7% 8.8% inter: 0.0% 0.0% 0.0%
[libx264 @ 0x1007a90]i16 v,h,dc,p: 72% 17% 6% 5%
[libx264 @ 0x1007a90]i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 30% 25% 2% 4% 2% 5% 2% 6%
[libx264 @ 0x1007a90]i8c dc,h,v,p: 56% 22% 16% 6%
[libx264 @ 0x1007a90]kb/s:161117.11
Received signal 2: terminating.
^C
Estou usando o script a seguir . Existe uma maneira especial de concatenar vídeos do Android? Se sim, como posso fazer isso?
Você está usando uma versão muito antiga do FFmpeg, que provavelmente não consegue lidar com esse formato de arquivo da maneira certa. Atualize o FFmpeg para uma versão recente que pode ser encontrada na página de download do FFmpeg
Primeiro, obtenha uma versão mais atualizada do ffmpeg . Então, em vez de usar esse script, use o demuxer de concat como descrito na página wiki do ffmpeg vinculado a ; se isso não funcionar, tente o filtro de concat (da mesma página).
Primeiro, crie um arquivo chamado algo como inputs.txt
, contendo linhas como:
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'
Em seguida, use o demuxer da seguinte forma:
ffmpeg -f concat -i inputs.txt -c copy output.mp4
## or something like:
ffmpeg -f concat -i inputs.txt -c:v libx264 -preset veryfast -crf 22 -c:a copy output.mp4