[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