[FFmpeg-trac] #2236(undetermined:new): Default stream selection does not work with HLS output

FFmpeg trac at avcodec.org
Mon Feb 4 18:26:51 CET 2013


#2236: Default stream selection does not work with HLS output
-------------------------------------+-------------------------------------
             Reporter:  nealzebub    |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:  hls          |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 '''OS:''' CentOS 6.3 64-bit
 '''Build:''' ffmpeg version N-49571-gb5f544a
 '''Type:''' Burek static build, 64-bit, 20130204
 '''Obtained from:'''  http://ffmpeg.gusari.org/static/64bit/



 I am attempting to encode from file(mainly MP4) to HTTP Live
 Streaming(HLS) compatible streams.

 According to the FFmpeg documentation, [http://ffmpeg.org/ffmpeg.html
 #Stream-selection]:

 ''By default ffmpeg includes only one stream of each type (video, audio,
 subtitle) present in the input files and adds them to each output file. It
 picks the "best" of each based upon the following criteria; for video it
 is the stream with the highest resolution, for audio the stream with the
 most channels, for subtitle it’s the first subtitle stream. In the case
 where several streams of the same type rate equally, the lowest numbered
 stream is chosen.''
 I should not have to map audio and videos streams when outputting to HLS.

 I obtained a source file, so I could enter this report, from:
  http://www.wowzamedia.com/_h264/bigbuckbunny_1500.mp4

 The problem I encountered is when attempting to encode to HLS, without
 mapping audio and video streams, a message appears:
 {{{
 Output file #0 does not contain any stream
 }}}
 If I set the output to mpegts or MP4, I receive no such message, and
 encode completes normally, which means that auto stream selection
 functioned as described in the documentation for those outputs.


 '''Here is the exact command used:'''

 {{{
 ./ffmpeg.20130204 -report -i ./source_media/bigbuckbunny_1500.mp4
 -frames:v 480 -c:v libx264 -crf 25 -profile:v baseline -g 48 -sc_threshold
 0 -flags +cgop -c:a aac -strict -2 -b:a 112k -f ssegment -segment_time 10
 -segment_format mpegts "hls_%02d.ts"
 }}}



 '''Here is the report:'''

 {{{
 ffmpeg started on 2013-02-04 at 12:08:21
 Report written to "ffmpeg-20130204-120821.log"
 Command line:
 ./ffmpeg.20130204 -report -i ./source_media/bigbuckbunny_1500.mp4
 -frames:v 480 -c:v libx264 -crf 25 -profile:v baseline -g 48 -sc_threshold
 0 -flags +cgop -c:a aac -strict -2 -b:a 112k -f ssegment -segment_time 10
 -segment_format mpegts "hls_%02d.ts"
 ffmpeg version N-49571-gb5f544a Copyright (c) 2000-2013 the FFmpeg
 developers
   built on Feb  4 2013 05:23:01 with gcc 4.6 (Debian 4.6.3-1)
   configuration: --prefix=/root/ffmpeg-static/64bit --extra-
 cflags='-I/root/ffmpeg-static/64bit/include -static' --extra-
 ldflags='-L/root/ffmpeg-static/64bit/lib -static' --extra-libs='-lxml2
 -lexpat -lfreetype' --enable-static --disable-shared --disable-ffserver
 --disable-doc --enable-bzlib --enable-zlib --enable-postproc --enable-
 runtime-cpudetect --enable-libx264 --enable-gpl --enable-libtheora
 --enable-libvorbis --enable-libmp3lame --enable-gray --enable-libass
 --enable-libfreetype --enable-libopenjpeg --enable-libspeex --enable-
 libvo-aacenc --enable-libvo-amrwbenc --enable-version3 --enable-libvpx
   libavutil      52. 17.101 / 52. 17.101
   libavcodec     54. 91.100 / 54. 91.100
   libavformat    54. 61.104 / 54. 61.104
   libavdevice    54.  3.103 / 54.  3.103
   libavfilter     3. 35.101 /  3. 35.101
   libswscale      2.  2.100 /  2.  2.100
   libswresample   0. 17.102 /  0. 17.102
   libpostproc    52.  2.100 / 52.  2.100
 Splitting the commandline.
 Reading option '-report' ... matched as option 'report' (generate a
 report) with argument '1'.
 Reading option '-i' ... matched as input file with argument
 './source_media/bigbuckbunny_1500.mp4'.
 Reading option '-frames:v' ... matched as option 'frames' (set the number
 of frames to record) with argument '480'.
 Reading option '-c:v' ... matched as option 'c' (codec name) with argument
 'libx264'.
 Reading option '-crf' ... matched as AVOption 'crf' with argument '25'.
 Reading option '-profile:v' ... matched as option 'profile' (set profile)
 with argument 'baseline'.
 Reading option '-g' ... matched as AVOption 'g' with argument '48'.
 Reading option '-sc_threshold' ... matched as AVOption 'sc_threshold' with
 argument '0'.
 Reading option '-flags' ... matched as AVOption 'flags' with argument
 '+cgop'.
 Reading option '-c:a' ... matched as option 'c' (codec name) with argument
 'aac'.
 Reading option '-strict' ... matched as AVOption 'strict' with argument
 '-2'.
 Reading option '-b:a' ... matched as option 'b' (video bitrate (please use
 -b:v)) with argument '112k'.
 Reading option '-f' ... matched as option 'f' (force format) with argument
 'ssegment'.
 Reading option '-segment_time' ... matched as AVOption 'segment_time' with
 argument '10'.
 Reading option '-segment_format' ... matched as AVOption 'segment_format'
 with argument 'mpegts'.
 Reading option 'hls_%02d.ts' ... matched as output file.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option report (generate a report) with argument 1.
 Successfully parsed a group of options.
 Parsing a group of options: input file
 ./source_media/bigbuckbunny_1500.mp4.
 Successfully parsed a group of options.
 Opening an input file: ./source_media/bigbuckbunny_1500.mp4.
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x2ad0a20] Format mov,mp4,m4a,3gp,3g2,mj2
 probed with size=2048 and score=100
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x2ad0a20] ISO: File Type Major Brand: isom
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x2ad0a20] File position before
 avformat_find_stream_info() is 114213748
 [h264 @ 0x2ad7260] Increasing reorder buffer to 1
 [h264 @ 0x2ad7260] no picture ooo
 [h264 @ 0x2ad7260] no picture
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x2ad0a20] All info found
 rfps: 23.416667 0.019644
 rfps: 23.416667 0.019644
 rfps: 23.500000 0.014433
 rfps: 23.500000 0.014433
 rfps: 23.583333 0.010023
 rfps: 23.583333 0.010023
 rfps: 23.666667 0.006415
 rfps: 23.666667 0.006415
 rfps: 23.750000 0.003608
 rfps: 23.750000 0.003608
 rfps: 23.833333 0.001604
 rfps: 23.833333 0.001604
 rfps: 23.916667 0.000401
 rfps: 23.916667 0.000401
 rfps: 24.000000 0.000000
 rfps: 24.083333 0.000401
 rfps: 24.083333 0.000401
 rfps: 24.166667 0.001603
 rfps: 24.166667 0.001603
 rfps: 24.250000 0.003607
 rfps: 24.250000 0.003607
 rfps: 24.333333 0.006413
 rfps: 24.333333 0.006413
 rfps: 24.416667 0.010021
 rfps: 24.416667 0.010021
 rfps: 24.500000 0.014430
 rfps: 24.500000 0.014430
 rfps: 24.583333 0.019641
 rfps: 24.583333 0.019641
 rfps: 47.416667 0.019645
 rfps: 47.416667 0.019645
 rfps: 47.500000 0.014434
 rfps: 47.500000 0.014434
 rfps: 47.583333 0.010024
 rfps: 47.583333 0.010024
 rfps: 47.666667 0.006416
 rfps: 47.666667 0.006416
 rfps: 47.750000 0.003609
 rfps: 47.750000 0.003609
 rfps: 47.833333 0.001604
 rfps: 47.833333 0.001604
 rfps: 47.916667 0.000401
 rfps: 47.916667 0.000401
 rfps: 48.000000 0.000000
 rfps: 48.083333 0.000401
 rfps: 48.083333 0.000401
 rfps: 48.166667 0.001603
 rfps: 48.166667 0.001603
 rfps: 48.250000 0.003607
 rfps: 48.250000 0.003607
 rfps: 48.333333 0.006412
 rfps: 48.333333 0.006412
 rfps: 48.416667 0.010020
 rfps: 48.416667 0.010020
 rfps: 48.500000 0.014429
 rfps: 48.500000 0.014429
 rfps: 48.583333 0.019640
 rfps: 48.583333 0.019640
 rfps: 23.976024 0.000033
 rfps: 23.976024 0.000033
 rfps: 47.952048 0.000133
 rfps: 47.952048 0.000133
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x2ad0a20] File position after
 avformat_find_stream_info() is 27957
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
 './source_media/bigbuckbunny_1500.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 0
     compatible_brands: isomavc1mp42isom
   Duration: 00:09:56.46, start: 0.000000, bitrate: 1531 kb/s
     Stream #0:0(eng), 21, 1/100000: Video: h264 (Main) (avc1 /
 0x31637661), yuv420p, 1080x608, 1393 kb/s, 24 fps, 24 tbr, 100k tbn, 200k
 tbc
     Metadata:
       handler_name    : VideoHandler
     Stream #0:1(eng), 40, 1/48000: Audio: aac (mp4a / 0x6134706D), 48000
 Hz, stereo, fltp, 131 kb/s
     Metadata:
       handler_name    : SoundHandler
 Successfully opened the file.
 Parsing a group of options: output file hls_%02d.ts.
 Applying option frames:v (set the number of frames to record) with
 argument 480.
 Applying option c:v (codec name) with argument libx264.
 Applying option profile:v (set profile) with argument baseline.
 Applying option c:a (codec name) with argument aac.
 Applying option b:a (video bitrate (please use -b:v)) with argument 112k.
 Applying option f (force format) with argument ssegment.
 Successfully parsed a group of options.
 Opening an output file: hls_%02d.ts.
 Successfully opened the file.
 Output #0, stream_segment,ssegment, to 'hls_%02d.ts':
   Metadata:
     major_brand     : isom
     minor_version   : 0
     compatible_brands: isomavc1mp42isom
 Output file #0 does not contain any stream
 Statistics: 595406 bytes read, 2 seeks
 }}}

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


More information about the FFmpeg-trac mailing list