[FFmpeg-user] Concat introduce artifact between streams

Moro Alexandre web at vola.fr
Fri Jan 22 08:18:47 CET 2016


Thanks for your fast response.

I will try with with the git master next week,

I'm pretty new to FFmpeg but i developped an application which create theses video stream from images.

Every video are created with ffmpeg within a custom application, so they all have the same parameters,
They play very well in VLC.


Meanwhile, please find below the complete console output.

ffmpeg -concat -i video_bribes.list -c:v copy -acodec none -movflags faststart -y v_5.mp4
ffmpeg version N-76776-g3c110b0 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 5.2.0 (GCC)
  configuration: --disable-static --enable-shared --enable-gpl --enable-version3
 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --ena
ble-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --e
nable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-
libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --ena
ble-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-
libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-lib
vo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-li
bwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --e
nable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55.  8.100 / 55.  8.100
  libavcodec     57. 15.100 / 57. 15.100
  libavformat    57. 18.100 / 57. 18.100
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 15.100 /  6. 15.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 00c56ca0] Auto-inserting h264_mp4toannexb bitstream f
ilter
Input #0, concat, from 'video_bribes.list':
  Duration: N/A, start: 0.000000, bitrate: 898 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720,
 898 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
[mp4 @ 02d607e0] Codec for stream 0 does not use global headers but container fo
rmat requires global headers
Output #0, mp4, to 'v_5.mp4':
  Metadata:
    encoder         : Lavf57.18.100
    Stream #0:0(und): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1280x720, q
=2-31, 898 kb/s, 30 fps, 30 tbr, 15360 tbn, 15360 tbc
    Metadata:
      handler_name    : VideoHandler
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[mov,mp4,m4a,3gp,3g2,mj2 @ 00c56ca0] Auto-inserting h264_mp4toannexb bitstream f
ilter
[mov,mp4,m4a,3gp,3g2,mj2 @ 0299a0a0] Auto-inserting h264_mp4toannexb bitstream f
ilter
[mp4 @ 02d607e0] Starting second pass: moving the moov atom to the beginning of
the file
frame= 1062 fps=0.0 q=-1.0 Lsize=    3905kB time=00:00:35.36 bitrate= 904.6kbits
/s
video:3897kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead: 0.207633%


Thanks for your help.

-----Message d'origine-----
De : ffmpeg-user [mailto:ffmpeg-user-bounces at ffmpeg.org] De la part de Moritz Barsnick
Envoyé : jeudi 21 janvier 2016 17:37
À : FFmpeg user discussions
Objet : Re: [FFmpeg-user] Concat introduce artifact between streams

On Thu, Jan 21, 2016 at 17:29:10 +0100, Moro Alexandre wrote:
> ffmpeg.exe -f concat -i clips.list -codec:v copy -acodec none 
> -movflags faststart -y out.mp4

Please show us the complete, uncut console output.

> I use 2.8.2, but i try with different version down to 2.5.2 and 
> artifact are still here.

How about a newer version instead of an older one (though I acknowledge that you could find a regression by going backwards)? git master HEAD is recommended on this list.

> -          Every media are from the same codec h264.

That does not suffice. From the docs:
https://www.ffmpeg.org/ffmpeg-formats.html#concat-1

  All files must have the same streams (same codecs, same time base,
  etc.).

  The duration of each file is used to adjust the timestamps of the
  next file: if the duration is incorrect (because it was computed
  using the bit-rate or because the file is truncated, for example), it
  can cause artifacts. The duration directive can be used to override
  the duration stored in each file.

Cheers,
Moritz
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user at ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user




More information about the ffmpeg-user mailing list