[FFmpeg-trac] #4300(ffmpeg:new): Segmenter duplicating audio stream from previous segments

FFmpeg trac at avcodec.org
Fri Feb 6 06:49:32 CET 2015


#4300: Segmenter duplicating audio stream from previous segments
-------------------------------------+-------------------------------------
             Reporter:  hdezela      |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:  ffmpeg       |                  Version:  git-
             Keywords:  hls,         |  master
  ssegmenter                         |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug: When using ssegmenter to produce an HLS group from
 RTMP (calling ffmpeg from nginx-rtmp with exec_push) each segment has the
 audio from (segment - 3) under the original audio.

 segment0 = audio0
 segment1 = audio1
 segment2 = audio2
 segment3 = audio3+audio0
 segment4 = audio4+audio1

 This keeps layering up to something like segment 100 having its audio plus
 the additive audio of all the -3 segments behind it. (see attached files)

 The log shows nothing out of the ordinary:


 {{{
 ffmpeg version N-69586-ga6c2c8f Copyright (c) 2000-2015 the FFmpeg
 developers
   built with gcc 4.8.2 (GCC) 20140120 (Red Hat 4.8.2-16)
   configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-
 shared --enable-libmp3lame --enable-libx264 --enable-libfaac --enable-
 libvpx --enable-libvorbis --enable-libopencore-amrnb --enable-libopencore-
 amrwb --enable-libopencore-amrnb --enable-libtheora --enable-librtmp
   libavutil      54. 18.100 / 54. 18.100
   libavcodec     56. 21.102 / 56. 21.102
   libavformat    56. 19.100 / 56. 19.100
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5.  9.103 /  5.  9.103
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
 Metadata:
   Server                NGINX RTMP (github.com/arut/nginx-rtmp-module)
   width                 852.00
   height                480.00
   displayWidth          852.00
   displayHeight         480.00
   duration              0.00
   framerate             30.00
   fps                   30.00
   videodatarate         100.00
   videocodecid          0.00
   audiodatarate         48.00
   audiocodecid          0.00
   profile
   level
 Input #0, live_flv, from 'rtmp://localhost/live/prueba':
   Metadata:
     Server          : NGINX RTMP (github.com/arut/nginx-rtmp-module)
     displayWidth    : 852
     displayHeight   : 480
     fps             : 30
     profile         :
     level           :
   Duration: 00:00:00.00, start: 0.000000, bitrate: N/A
     Stream #0:0: Video: h264 (High), yuv420p(tv,
 smpte170m/bt709/iec61966-2-1), 852x480, 102 kb/s, 30.30 fps, 30 tbr, 1k
 tbn, 60 tbc
     Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 49 kb/s
 [libx264 @ 0x1b58880] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
 AVX
 [libx264 @ 0x1b58880] profile Constrained Baseline, level 3.0
 Output #0, stream_segment,ssegment, to '/webdata/vivo/180p%05d.ts':
   Metadata:
     Server          : NGINX RTMP (github.com/arut/nginx-rtmp-module)
     displayWidth    : 852
     displayHeight   : 480
     fps             : 30
     profile         :
     level           :
     encoder         : Lavf56.19.100
     Stream #0:0: Video: h264 (libx264), yuv420p, 320x180, q=-1--1, 240
 kb/s, 30 fps, 90k tbn, 30 tbc
     Metadata:
       encoder         : Lavc56.21.102 libx264
     Stream #0:1: Audio: aac (libfaac), 48000 Hz, stereo, s16, 32 kb/s
     Metadata:
       encoder         : Lavc56.21.102 libfaac
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
   Stream #0:1 -> #0:1 (aac (native) -> aac (libfaac))
 Press [q] to stop, [?] for help
 frame=   15 fps=0.0 q=37.0 size=N/A time=00:00:00.44 bitrate=N/A dup=2
 drop=0
 frame=   30 fps= 30 q=32.0 size=N/A time=00:00:00.96 bitrate=N/A dup=2
 drop=0
 frame=   45 fps= 30 q=32.0 size=N/A time=00:00:01.47 bitrate=N/A dup=2
 drop=0
 frame=   60 fps= 30 q=30.0 size=N/A time=00:00:01.98 bitrate=N/A dup=2
 drop=0
 frame=   75 fps= 30 q=33.0 size=N/A time=00:00:02.47 bitrate=N/A dup=2
 drop=0
 frame=   90 fps= 30 q=30.0 size=N/A time=00:00:02.98 bitrate=N/A dup=2
 drop=0
 frame=  105 fps= 30 q=35.0 size=N/A time=00:00:03.47 bitrate=N/A dup=2
 drop=0
 frame=  120 fps= 30 q=31.0 size=N/A time=00:00:03.96 bitrate=N/A dup=2
 drop=0
 ...
 }}}


 How to reproduce:
 {{{
 ffmpeg -y -re -i rtmp://localhost/live/$name -pix_fmt yuv420p -s 320x180
 -b:v 240k -c:v libx264 -preset fast -profile:v baseline -level 3.0 -c:a
 libfaac -ac 2 -ar 48000 -b:a 32k -g 10 -f ssegment -segment_list
 /webdata/vivo/180p.m3u8 -segment_list_flags +live -segment_time 11
 -segment_list_type m3u8 -segment_list_size 10 -segment_wrap 10
 /webdata/vivo/180p%05d.ts 2>>/webdata/logs/ffmpeg-$name.log;
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/4300>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list