[FFmpeg-user] live stream transcoding problem

Robert Harakaly r.harakaly at gmail.com
Fri Mar 9 10:08:00 CET 2012


Hello everybody,

I'm new to this mailinglist. I try to transcode my IPTV live stream to
VP8/webm. I use following command line:
----
$ ffmpeg-0.9/ffmpeg  -i udp://@225.1.1.62:1111 -r 26 -g 26 -acodec
libvorbis -ab 128k -channels 2 -threads 4 -vcodec libvpx -b:v 1200k -bt
200k -quality good  -f webm
http://localhost:8081/publish/bbc-hi?password=secret

or 
$ ffmpeg-0.9/ffmpeg  -i http://localhost:12333 -r 26 -g 26 -acodec
libvorbis -ab 128k -channels 2 -threads 4 -vcodec libvpx -b:v 1200k -bt
200k -quality good  -f webm
http://localhost:8081/publish/bbc-hi?password=secret

where I use vlc to "prepare" the stream:
vlc -I dummy udp://@225.1.1.62:1111 :sout=#http{mux=ts,dst=:12333}

My goal is to transcode the input stream into (preferably VBR) approx
1.2Mbps WBEM stream.

In both cases the transcoding fails either practically immediately
(after 40-80 frames) or "randomly" within 4 hours. I've never got longer
functioning than 4 hours.

The error message I see is (UDP source):

[webm @ 0x2b72a00] Writing block at offset 21523, size 206, pts 2927,
dts 2927, duration 0, flags 128
[webm @ 0x2b72a00] Starting new cluster at offset 21736 bytes, pts 2962
[udp @ 0x2aded40] circular_buffer: OVERRUN

or
[webm @ 0x151e900] Writing block at offset 31196, size 8423, pts 2462,
dts 2462, duration 38, flags 0
[webm @ 0x151e900] Starting new cluster at offset 39626 bytes, pts 2473

in case I take http stream from vlc.

In both cases, the common message is: "Starting new cluster"

I use Ubuntu 11.4 with different versions of ffmpeg (0.9, 0.9.1, 0.10)
downloaded from ffmpeg.org and compiled manually.

I attach below the debug output from ffmpeg

Thanks everybody for help

Robert


The debug information from ffmpeg:
# ffmpeg-0.9/ffmpeg  -i http://localhost:12333 -r 26 -g 26 -acodec
libvorbis -ab 128k -channels 2 -threads 4 -vcodec libvpx -b:v 1200k -bt
200k -quality good  -f webm -loglevel debug
http://localhost:8081/publish/bbc-hi?password=secret
ffmpeg version 0.9, Copyright (c) 2000-2011 the FFmpeg developers
  built on Jan  6 2012 17:32:08 with gcc 4.5.2
  configuration: --enable-libvpx --enable-libvorbis --enable-libx264
--enable-gpl
  libavutil    51. 32. 0 / 51. 32. 0
  libavcodec   53. 42. 0 / 53. 42. 0
  libavformat  53. 24. 0 / 53. 24. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 53. 0 /  2. 53. 0
  libswscale    2.  1. 0 /  2.  1. 0
  libpostproc  51.  2. 0 / 51.  2. 0
[mpegts @ 0x1e3a7a0] Format mpegts probed with size=2048 and score=100
[mpegts @ 0x1e3a7a0] stream=0 stream_type=3 pid=200 prog_reg_desc=
[mpegts @ 0x1e3a7a0] stream=1 stream_type=2 pid=201 prog_reg_desc=
[mp3 @ 0x1e40fe0] err{or,}_recognition separate: 1; 1
[mp3 @ 0x1e40fe0] err{or,}_recognition combined: 1; 65537
[mpeg2video @ 0x1e41ac0] err{or,}_recognition separate: 1; 1
[mpeg2video @ 0x1e41ac0] err{or,}_recognition combined: 1; 65537
[mpeg2video @ 0x1e41ac0] mpeg_decode_postinit() failure
    Last message repeated 2 times
[mpeg2video @ 0x1e41ac0] Unsupported bit depth: 0
[mpegts @ 0x1e3a7a0] max_analyze_duration 5000000 reached at 5016000
rfps: 24.916667 0.015015
rfps: 25.000000 0.000009
    Last message repeated 1 times
rfps: 25.083333 0.013932
rfps: 49.916667 0.015583
rfps: 50.000000 0.000035
    Last message repeated 1 times
rfps: 50.083333 0.013416
[mpegts @ 0x1e3a7a0] Estimating duration from bitrate, this may be
inaccurate
Input #0, mpegts, from 'http://localhost:12333':
  Duration: N/A, start: 22274.653789, bitrate: 15256 kb/s
  Program 1 
    Stream #0:0[0x200](eng), 211, 1/90000: Audio: mp2 ([3][0][0][0] /
0x0003), 48000 Hz, stereo, s16, 256 kb/s
    Stream #0:1[0x201], 126, 1/90000: Video: mpeg2video (Main)
([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 1/50,
15000 kb/s, 25.20 fps, 25 tbr, 90k tbn, 50 tbc
[buffer @ 0x20f4f40] w:720 h:576 pixfmt:yuv420p tb:1/1000000 sar:64/45
sws_param:
[libvpx @ 0x1e44400] err{or,}_recognition separate: 1; 1
[libvpx @ 0x1e44400] err{or,}_recognition combined: 1; 65537
[libvpx @ 0x1e44400] v0.9.7-p1
[libvpx @ 0x1e44400] 
[libvpx @ 0x1e44400] vpx_codec_enc_cfg
[libvpx @ 0x1e44400] generic settings
  g_usage:                      0
  g_threads:                    0
  g_profile:                    0
  g_w:                          320
  g_h:                          240
  g_timebase:                   {1/30}
  g_error_resilient:            0
  g_pass:                       0
  g_lag_in_frames:              0
[libvpx @ 0x1e44400] rate control settings
  rc_dropframe_thresh:          0
  rc_resize_allowed:            0
  rc_resize_up_thresh:          60
  rc_resize_down_thresh:        30
  rc_end_usage:                 0
  rc_twopass_stats_in:          (nil)(0)
  rc_target_bitrate:            256
[libvpx @ 0x1e44400] quantizer settings
  rc_min_quantizer:             4
  rc_max_quantizer:             63
[libvpx @ 0x1e44400] bitrate tolerance
  rc_undershoot_pct:            100
  rc_overshoot_pct:             100
[libvpx @ 0x1e44400] decoder buffer model
  rc_buf_sz:                    6000
  rc_buf_initial_sz:            4000
  rc_buf_optimal_sz:            5000
[libvpx @ 0x1e44400] 2 pass rate control settings
  rc_2pass_vbr_bias_pct:        50
  rc_2pass_vbr_minsection_pct:  0
  rc_2pass_vbr_maxsection_pct:  400
[libvpx @ 0x1e44400] keyframing settings
  kf_mode:                      1
  kf_min_dist:                  0
  kf_max_dist:                  9999
[libvpx @ 0x1e44400] 
[libvpx @ 0x1e44400] vpx_codec_enc_cfg
[libvpx @ 0x1e44400] generic settings
  g_usage:                      0
  g_threads:                    4
  g_profile:                    0
  g_w:                          720
  g_h:                          576
  g_timebase:                   {1/26}
  g_error_resilient:            0
  g_pass:                       0
  g_lag_in_frames:              0
[libvpx @ 0x1e44400] rate control settings
  rc_dropframe_thresh:          0
  rc_resize_allowed:            0
  rc_resize_up_thresh:          60
  rc_resize_down_thresh:        30
  rc_end_usage:                 0
  rc_twopass_stats_in:          (nil)(0)
  rc_target_bitrate:            1200
[libvpx @ 0x1e44400] quantizer settings
  rc_min_quantizer:             4
  rc_max_quantizer:             63
[libvpx @ 0x1e44400] bitrate tolerance
  rc_undershoot_pct:            100
  rc_overshoot_pct:             100
[libvpx @ 0x1e44400] decoder buffer model
  rc_buf_sz:                    6000
  rc_buf_initial_sz:            4000
  rc_buf_optimal_sz:            5000
[libvpx @ 0x1e44400] 2 pass rate control settings
  rc_2pass_vbr_bias_pct:        50
  rc_2pass_vbr_minsection_pct:  0
  rc_2pass_vbr_maxsection_pct:  400
[libvpx @ 0x1e44400] keyframing settings
  kf_mode:                      1
  kf_min_dist:                  0
  kf_max_dist:                  26
[libvpx @ 0x1e44400] 
[libvpx @ 0x1e44400] vpx_codec_control
[libvpx @ 0x1e44400]   VP8E_SET_CPUUSED:             3
[libvpx @ 0x1e44400]   VP8E_SET_ARNR_MAXFRAMES:      0
[libvpx @ 0x1e44400]   VP8E_SET_ARNR_STRENGTH:       3
[libvpx @ 0x1e44400]   VP8E_SET_ARNR_TYPE:           3
[libvpx @ 0x1e44400]   VP8E_SET_NOISE_SENSITIVITY:   0
[libvpx @ 0x1e44400]   VP8E_SET_TOKEN_PARTITIONS:    0
[libvpx @ 0x1e44400]   VP8E_SET_STATIC_THRESHOLD:    0
[libvpx @ 0x1e44400]   VP8E_SET_CQ_LEVEL:            0
[libvpx @ 0x1e44400] Using deadline: 1000000
[libvorbis @ 0x214ade0] err{or,}_recognition separate: 1; 1
[libvorbis @ 0x214ade0] err{or,}_recognition combined: 1; 65537
[mp2 @ 0x1e40fe0] err{or,}_recognition separate: 1; 65537
[mp2 @ 0x1e40fe0] err{or,}_recognition combined: 1; 65537
[mpeg2video @ 0x1e41ac0] err{or,}_recognition separate: 1; 65537
[mpeg2video @ 0x1e41ac0] err{or,}_recognition combined: 1; 65537
Output #0, webm, to
'http://localhost:8081/publish/bbc-hi?password=secret':
  Metadata:
    encoder         : Lavf53.24.0
    Stream #0:0, 0, 1/1000: Video: vp8, yuv420p, 720x576 [SAR 64:45 DAR
16:9], 1/26, q=-1--1, 1200 kb/s, 1k tbn, 26 tbc
    Stream #0:1(eng), 0, 1/1000: Audio: vorbis, 48000 Hz, stereo, s16,
128 kb/s
Stream mapping:
  Stream #0:1 -> #0:0 (mpeg2video -> libvpx)
  Stream #0:0 -> #0:1 (mp2 -> libvorbis)
Press [q] to stop, [?] for help
[mpeg2video @ 0x1e41ac0] Unsupported bit depth: 0
....



More information about the ffmpeg-user mailing list