VLM single input, multi-output from live IP source

Discussion about configuration and usage of VLM (a stream scheduler) within VLC.
Streamers
New Cone
New Cone
Posts: 2
Joined: 15 Mar 2007 16:54

VLM single input, multi-output from live IP source

Postby Streamers » 15 Mar 2007 18:20

Hi,

A friend and I are trying to setup a streaming service. Our goal is to receive from an Mpeg4 IP video source (an Axis 210A IP camera) and re-encode into 3 separate bit rates. The re-encoded streams will then be served out on different ports for clients to view depending on their connection speed.

In order to do this we used VLC's VLM interface and a batch file that is created on the fly from a customised web GUI.
Contents of the batch file are as follows:

Code: Select all

############################################################# # VLM Configuration file, created: Fri Mar 16 03:04:29 2007 # ############################################################# new cam1_LBR broadcast enabled loop setup cam1_LBR input rtsp://192.168.1.5:554/mpeg4/media.amp setup cam1_LBR output #transcode{vcodec=WMV2,vb=256,acodec=mp3,ab=32,scale=0.25}:duplicate{dst=std{access=mmsh,mux=asfh,url=192.168.1.3:50011}} new cam1_MBR broadcast enabled loop setup cam1_MBR input rtsp://192.168.1.5:554/mpeg4/media.amp setup cam1_MBR output #transcode{vcodec=WMV2,vb=512,acodec=mp3,ab=96,scale=0.5}:duplicate{dst=std{access=mmsh,mux=asfh,url=192.168.1.3:50012}} new cam1_HBR broadcast enabled loop setup cam1_HBR input rtsp://192.168.1.5:554/mpeg4/media.amp setup cam1_HBR output #transcode{vcodec=WMV2,vb=768,acodec=mp3,ab=128,scale=0.75}:duplicate{dst=std{access=mmsh,mux=asfh,url=192.168.1.3:50013}} control cam1_LBR play control cam1_MBR play control cam1_HBR play ############################ EOF ############################
We have tried VLC versions 0.8.6a and 0.9.0-svn on Windows XP with minimal success. On accessing the output streams using VLC or WMP on client PCs we sometimes get just video, or just audio or both or nothing!? :)

One of the major errors that we see is: "ffmpeg encoder warning: almost fed libavcodec with a frame in the past".

We have also tried to rectify this error by recompiling VLC 0.8.6a according to advice given in this thread: viewtopic.php?p=95377#95377

However we still have the same error. Can anyone help us with this error, or advise on an alternative method to achieve our goal.

Thanks in advance.

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 17 Mar 2007 18:23

You should use vcodec=DIV3 for improved quality / bandwidth performance.

Could you also check that the input streams playback fine in VLC?
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

Streamers
New Cone
New Cone
Posts: 2
Joined: 15 Mar 2007 16:54

Postby Streamers » 18 Mar 2007 18:12

Hi Dionoea,

Thanks for the prompt reply. We changed the video codec to DIV3 and it did result in improvement. We can now always get the video and audio – but it’s extremely choppy – almost useless.

We had look at the Axis 210A input stream on VLC and we get the following messages:
  • main debug: creating new input thread
    main debug: waiting for thread completion
    main debug: thread 4780 (input) created at priority 1 (input/input.c:265)
    main debug: `rtsp://192.168.1.5/mpeg4/media.amp' gives access `rtsp' demux `' path `192.168.1.5/mpeg4/media.amp'
    main debug: creating demux: access='rtsp' demux='' path='192.168.1.5/mpeg4/media.amp'
    main debug: looking for access_demux module: 1 candidate
    live555 debug: RTP subsession 'video/MP4V-ES'
    live555 debug: RTP subsession 'audio/PCMU'
    live555 debug: We have a timeout of 60 seconds
    main debug: waiting for thread completion
    main debug: thread 4148 (liveMedia-timeout) created at priority 0 (live555.cpp:895)
    live555 debug: spawned timeout thread
    main debug: selecting program id=0
    main debug: using access_demux module "live555"
    main debug: looking for a subtitle file in C:\Program Files\VideoLAN\VLC\
    main debug: looking for decoder module: 27 candidates
    ffmpeg debug: libavcodec already initialized
    ffmpeg debug: postprocessing disabled
    ffmpeg debug: using direct rendering
    ffmpeg debug: ffmpeg codec (MPEG-4 Video) started
    main debug: using decoder module "ffmpeg"
    main debug: thread 4648 (decoder) created at priority 0 (input/decoder.c:159)
    main debug: looking for decoder module: 27 candidates
    araw debug: samplerate:8000Hz channels:1 bits/sample:0
    main debug: using decoder module "araw"
    main debug: thread 4612 (decoder) created at priority 2 (input/decoder.c:159)
    main debug: `rtsp://192.168.1.5/mpeg4/media.amp' successfully opened
    main debug: looking for audio output module: 3 candidates
    aout_directx debug: OpenAudio
    aout_directx debug: found device: Primary Sound Driver
    aout_directx debug: found device: SB Live! Wave Device
    aout_directx debug: device supports 2 channels
    aout_directx debug: device supports 1 channel
    aout_directx debug: creating DirectSoundThread
    main debug: thread 4240 (DirectSound Notification Thread) created at priority 15 (directx.c:372)
    aout_directx debug: DirectSoundThread ready
    main debug: using audio output module "aout_directx"
    main debug: output 's16l' 8000 Hz Stereo/Mono frame=1 samples/4 bytes
    main debug: mixer 'fl32' 8000 Hz Stereo/Mono frame=1 samples/8 bytes
    main debug: filter(s) 'fl32'->'s16l' 8000 Hz->8000 Hz Stereo/Mono->Stereo/Mono
    main debug: looking for audio filter module: 23 candidates
    main debug: using audio filter module "float32tos16"
    main debug: found a filter for the whole conversion
    main debug: looking for audio mixer module: 3 candidates
    main debug: using audio mixer module "trivial_mixer"
    main debug: input 's16l' 8000 Hz Mono frame=1 samples/2 bytes
    main debug: filter(s) 's16l'->'fl32' 8000 Hz->8000 Hz Mono->Stereo/Mono
    main debug: looking for audio filter module: 23 candidates
    main debug: looking for audio filter module: 23 candidates
    main debug: using audio filter module "s16tofloat32"
    main debug: looking for audio filter module: 23 candidates
    main debug: using audio filter module "trivial_channel_mixer"
    main debug: found 2 filters for the whole conversion
    main debug: filter(s) 'fl32'->'fl32' 8800 Hz->8000 Hz Stereo/Mono->Stereo/Mono
    main debug: looking for audio filter module: 23 candidates
    main debug: using audio filter module "linear_resampler"
    main debug: found a filter for the whole conversion
    main debug: no usable vout present, spawning one
    main debug: window size: 640x480
    main debug: looking for video output module: 6 candidates
    main debug: Registering subpicture channel, ID: 2
    main debug: Registering subpicture channel, ID: 3
    main debug: Registering subpicture channel, ID: 4
    main debug: Registering subpicture channel, ID: 5
    vout_directx debug: creating DirectXEventThread
    main debug: waiting for thread completion
    vout_directx debug: DirectXCreateWindow
    vout_directx debug: created video sub-window
    main debug: thread 4108 (DirectX Events Thread) created at priority 0 (directx.c:278)
    vout_directx debug: DirectXEventThread running
    vout_directx debug: DirectXInitDDraw
    vout_directx debug: directx-device:
    vout_directx debug: DirectXEnumCallback: Primary Display Driver, display
    vout_directx debug: screen dimensions (0x0,1152x864)
    vout_directx debug: DirectDraw Capabilities: overlay=1 yuvoverlay=1 can_deinterlace_overlay=1 colorkey=1 stretch=1 bltfourcc=1
    vout_directx debug: align_boundary_src=0,0 align_boundary_dest=1,1 align_size_src=0,0 align_size_dest=0,0
    vout_directx debug: End DirectXInitDDraw
    vout_directx debug: DirectXCreateDisplay
    vout_directx debug: DirectXCreateClipper
    vout_directx debug: disabling screen saver
    main debug: using video output module "vout_directx"
    vout_directx debug: NewPictureVec overlay:yes chroma:YV12
    main debug: waiting for thread completion
    vout_directx debug: YUV overlay created successfully
    vout_directx debug: End NewPictureVec (succeeded)
    main debug: got 1 direct buffer(s)
    main debug: picture in 640x480 (0,0,640x480), chroma I420, ar 4:3, sar 1:1
    main debug: picture user 640x480 (0,0,640x480), chroma I420, ar 4:3, sar 1:1
    main debug: picture out 640x480 (0,0,640x480), chroma I420, ar 4:3, sar 1:1
    main debug: direct render, mapping render pictures 0-6 to system pictures 1-7
    main debug: thread 4792 (video output) created at priority 1 (video_output/video_output.c:421)
    live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP()
    main warning: clock gap, unexpected stream discontinuity
    live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP()
    main warning: late picture skipped (11062913314)
    main warning: late picture skipped (11063376303)
    main warning: late picture skipped (11063366346)
    main warning: audio drift is too big (462231), dropping buffer
    main warning: audio drift is too big (432231), dropping buffer
    main warning: audio drift is too big (402231), dropping buffer
    main warning: audio drift is too big (372231), dropping buffer
    main warning: audio drift is too big (342231), dropping buffer
    main warning: audio drift is too big (312231), dropping buffer
    main warning: audio drift is too big (282231), dropping buffer
    main warning: audio drift is too big (252231), dropping buffer
    main warning: audio drift is too big (222231), dropping buffer
    main warning: audio drift is too big (192231), dropping buffer
    main warning: received buffer in the future (11064277217)
    main warning: received buffer in the future (11064307197)
    main warning: received buffer in the future (11064337178)
    main warning: received buffer in the future (11064367159)
    main warning: received buffer in the future (11064397141)
    main warning: received buffer in the future (11064427123)
    main warning: received buffer in the future (11064457104)
    main warning: received buffer in the future (11064487086)
    main warning: received buffer in the future (11064517068)
    main warning: received buffer in the future (11064547049)
    main warning: received buffer in the future (11064577030)
    main warning: received buffer in the future (11064607012)
    main warning: received buffer in the future (11064636993)
    main warning: received buffer in the future (11064666975)
    main warning: received buffer in the future (11064696956)
    main warning: received buffer in the future (11064726937)
    main warning: received buffer in the future (11064756918)
    main warning: received buffer in the future (11064786899)
    main warning: computed PTS is out of range (599516), clearing out
    main warning: output PTS is out of range (639612), clearing out
    main debug: audio output is starving (398355), playing silence
    main warning: output date isn't PTS date, requesting resampling (-48398)
    main warning: buffer is 52668 in advance, triggering downsampling
    main warning: resampling stopped after 5009996 usec (drift: -957)
    live555 debug: reset the timeout timer
    main warning: output date isn't PTS date, requesting resampling (64884)
    main warning: buffer is 65841 late, triggering upsampling
    main warning: PTS is out of range (4001), dropping buffer
    main warning: computed PTS is out of range (51855), clearing out
    main warning: PTS is out of range (87478), dropping buffer
    main warning: output PTS is out of range (55280), clearing out
    main warning: PTS is out of range (190845), dropping buffer
    main warning: PTS is out of range (203805), dropping buffer
    main warning: PTS is out of range (179268), dropping buffer
    main warning: PTS is out of range (154276), dropping buffer
    main warning: PTS is out of range (192961), dropping buffer
    main warning: PTS is out of range (312109), dropping buffer
    main warning: PTS is out of range (401918), dropping buffer
    main warning: PTS is out of range (497448), dropping buffer
    main warning: PTS is out of range (606410), dropping buffer
    main warning: PTS is out of range (755261), dropping buffer
    main warning: PTS is out of range (830593), dropping buffer
    main warning: PTS is out of range (844240), dropping buffer
    main warning: PTS is out of range (841669), dropping buffer
    main warning: PTS is out of range (844957), dropping buffer
    main warning: PTS is out of range (821538), dropping buffer
    main warning: PTS is out of range (795119), dropping buffer
    main warning: PTS is out of range (883060), dropping buffer
    main warning: PTS is out of range (994716), dropping buffer
    main warning: PTS is out of range (1024684), dropping buffer
    main warning: PTS is out of range (999151), dropping buffer
    main warning: PTS is out of range (1028292), dropping buffer
    main warning: PTS is out of range (1104746), dropping buffer
    main warning: PTS is out of range (1078744), dropping buffer
    main warning: PTS is out of range (1053871), dropping buffer
    main warning: PTS is out of range (1147692), dropping buffer
    main warning: PTS is out of range (1280311), dropping buffer
    main warning: PTS is out of range (1341712), dropping buffer
    main warning: PTS is out of range (1318626), dropping buffer
The debugger log from the VLM script shows the following:
  • -- logger module started --
    main debug: CPU has capabilities 486 586 MMX MMXEXT SSE SSE2 FPU
    main debug: looking for memcpy module: 3 candidates
    main debug: using memcpy module "memcpymmxext"
    main debug: waiting for thread completion
    main debug: thread 3704 (playlist) created at priority 0 (playlist/playlist.c:184)
    main debug: waiting for thread completion
    main debug: thread 3720 (preparser) created at priority 0 (playlist/playlist.c:210)
    main debug: looking for interface module: 1 candidate
    logger: VLC media player - version 0.8.6-bugfix Janus - (c) 1996-2007 the VideoLAN team
    logger:
    Warning: if you can't access the GUI anymore, open a command-line window, go to the directory where you installed VLC and run "vlc -I wx"

    logger: using logger...
    logger warning: no log filename provided, using `vlc-log.txt'
    logger debug: opening logfile `vlc-log.txt'
    main debug: using interface module "logger"
    main debug: thread 3748 (interface) created at priority 0 (interface/interface.c:231)
    main debug: looking for interface module: 1 candidate
    main debug: using interface module "hotkeys"
    main debug: thread 3772 (interface) created at priority 0 (interface/interface.c:231)
    main debug: looking for interface module: 4 candidates
    main: creating VLM
    main debug: thread 3808 (vlm thread) created at priority 0 (misc/vlm.c:105)
    main debug: loading VLM configuration
    main debug: load C:\CamConfig.txt
    main debug: drive letter C: found in source
    main debug: creating access '' path='C:\CamConfig.txt'
    main debug: looking for access2 module: 5 candidates
    vcd debug: trying .cue file: C:\CamConfig.cue
    vcd debug: could not find .cue file
    access_file debug: opening file `C:\CamConfig.txt'
    main debug: using access2 module "access_file"
    main debug: pre-buffering...
    main debug: creating statistics handler
    main debug: received first data for our buffer
    main debug: removing module "access_file"
    main debug: waiting for thread completion
    main debug: thread 3872 (input) created at priority 1 (input/input.c:265)
    main debug: stream=`transcode'
    main debug: looking for sout stream module: 1 candidate
    main debug: stream=`duplicate'
    main debug: looking for sout stream module: 1 candidate
    stream_out_duplicate debug: creating 'duplicate'
    stream_out_duplicate debug: * adding `std{access=mmsh,mux=asfh,dst=:50011}'
    main debug: stream=`std'
    main debug: looking for sout stream module: 1 candidate
    main debug: set sout option: sout-standard-access to mmsh
    main debug: set sout option: sout-standard-mux to asfh
    main debug: set sout option: sout-standard-dst to :50011
    stream_out_standard debug: creating `mmsh/asfh://:50011'
    stream_out_standard debug: using `mmsh/asfh://:50011'
    main debug: looking for sout access module: 1 candidate
    main: creating httpd
    main debug: net: listening to port 50011
    main debug: thread 4076 (httpd host thread) created at priority 0 (network/httpd.c:1078)
    main debug: waiting for thread completion
    main debug: thread 4068 (input) created at priority 1 (input/input.c:265)
    main debug: using sout access module "access_output_http"
    stream_out_standard debug: access opened
    main debug: looking for sout mux module: 1 candidate
    main debug: stream=`transcode'
    main debug: looking for sout stream module: 1 candidate
    main debug: stream=`duplicate'
    main debug: looking for sout stream module: 1 candidate
    stream_out_duplicate debug: creating 'duplicate'
    stream_out_duplicate debug: * adding `std{access=mmsh,mux=asfh,dst=:50012}'
    main debug: stream=`std'
    main debug: looking for sout stream module: 1 candidate
    mux_asf debug: asf muxer opened
    mux_asf debug: creating asf stream to be used with mmsh
    mux_asf debug: Packet size 4096
    mux_asf debug: meta data: title='', author='', copyright='', comment='', rating=''
    main debug: using sout mux module "mux_asf"
    main debug: muxer support adding stream at any time
    main debug: muxer prefers to wait for all ES before starting to mux
    stream_out_standard debug: mux opened
    main debug: using sout stream module "stream_out_standard"
    main debug: using sout stream module "stream_out_duplicate"
    main debug: set sout option: sout-standard-access to mmsh
    main debug: set sout option: sout-standard-mux to asfh
    main debug: set sout option: sout-standard-dst to :50012
    stream_out_standard debug: creating `mmsh/asfh://:50012'
    stream_out_standard debug: using `mmsh/asfh://:50012'
    main debug: looking for sout access module: 1 candidate
    main debug: net: listening to port 50012
    main debug: thread 4248 (httpd host thread) created at priority 0 (network/httpd.c:1078)
    main debug: using sout access module "access_output_http"
    stream_out_standard debug: access opened
    main debug: looking for sout mux module: 1 candidate
    mux_asf debug: asf muxer opened
    mux_asf debug: creating asf stream to be used with mmsh
    mux_asf debug: Packet size 4096
    mux_asf debug: meta data: title='', author='', copyright='', comment='', rating=''
    main debug: using sout mux module "mux_asf"
    main debug: muxer support adding stream at any time
    main debug: muxer prefers to wait for all ES before starting to mux
    stream_out_standard debug: mux opened
    main debug: using sout stream module "stream_out_standard"
    main debug: using sout stream module "stream_out_duplicate"
    main debug: waiting for thread completion
    main debug: thread 4276 (input) created at priority 1 (input/input.c:265)
    telnet: using the VLM interface plugin...
    main debug: stream=`transcode'
    main debug: looking for sout stream module: 1 candidate
    main debug: stream=`duplicate'
    main debug: looking for sout stream module: 1 candidate
    stream_out_duplicate debug: creating 'duplicate'
    stream_out_duplicate debug: * adding `std{access=mmsh,mux=asfh,dst=:50013}'
    main debug: stream=`std'
    main debug: looking for sout stream module: 1 candidate
    main debug: net: listening to port 4212
    telnet: telnet interface started on interface 4212
    main debug: using interface module "telnet"
    main debug: thread 4368 (manager) created at priority 0 (interface/interface.c:216)
    main debug: set sout option: sout-standard-access to mmsh
    main debug: set sout option: sout-standard-mux to asfh
    main debug: set sout option: sout-transcode-vcodec to DIV3
    main debug: set sout option: sout-standard-dst to :50013
    stream_out_standard debug: creating `mmsh/asfh://:50013'
    stream_out_standard debug: using `mmsh/asfh://:50013'
    main debug: looking for sout access module: 1 candidate
    main debug: set sout option: sout-transcode-vb to 256
    main debug: set sout option: sout-transcode-acodec to mp3
    main debug: set sout option: sout-transcode-ab to 32
    main debug: set sout option: sout-transcode-scale to 0.25
    stream_out_transcode debug: codec audio=mp3 0Hz 0 channels 32Kb/s
    stream_out_transcode debug: codec video=DIV3 0x0 scaling: 0.250000 256kb/s
    main debug: using sout stream module "stream_out_transcode"
    main debug: `rtsp://192.168.1.5:554/mpeg4/media.amp' gives access `rtsp' demux `' path `192.168.1.5:554/mpeg4/media.amp'
    main debug: creating demux: access='rtsp' demux='' path='192.168.1.5:554/mpeg4/media.amp'
    main debug: looking for access_demux module: 1 candidate
    main debug: net: listening to port 50013
    main debug: thread 4448 (httpd host thread) created at priority 0 (network/httpd.c:1078)
    main debug: using sout access module "access_output_http"
    stream_out_standard debug: access opened
    main debug: looking for sout mux module: 1 candidate
    mux_asf debug: asf muxer opened
    mux_asf debug: creating asf stream to be used with mmsh
    mux_asf debug: Packet size 4096
    mux_asf debug: meta data: title='', author='', copyright='', comment='', rating=''
    main debug: using sout mux module "mux_asf"
    main debug: muxer support adding stream at any time
    main debug: muxer prefers to wait for all ES before starting to mux
    stream_out_standard debug: mux opened
    main debug: using sout stream module "stream_out_standard"
    main debug: using sout stream module "stream_out_duplicate"
    main debug: set sout option: sout-transcode-vcodec to DIV3
    main debug: set sout option: sout-transcode-vb to 512
    main debug: set sout option: sout-transcode-acodec to mp3
    main debug: set sout option: sout-transcode-ab to 96
    main debug: set sout option: sout-transcode-scale to 0.5
    stream_out_transcode debug: codec audio=mp3 0Hz 0 channels 96Kb/s
    stream_out_transcode debug: codec video=DIV3 0x0 scaling: 0.500000 512kb/s
    main debug: using sout stream module "stream_out_transcode"
    main debug: `rtsp://192.168.1.5:554/mpeg4/media.amp' gives access `rtsp' demux `' path `192.168.1.5:554/mpeg4/media.amp'
    main debug: creating demux: access='rtsp' demux='' path='192.168.1.5:554/mpeg4/media.amp'
    main debug: looking for access_demux module: 1 candidate
    main debug: set sout option: sout-transcode-vcodec to DIV3
    main debug: set sout option: sout-transcode-vb to 768
    main debug: set sout option: sout-transcode-acodec to mp3
    main debug: set sout option: sout-transcode-ab to 128
    main debug: set sout option: sout-transcode-scale to 0.75
    stream_out_transcode debug: codec audio=mp3 0Hz 0 channels 128Kb/s
    stream_out_transcode debug: codec video=DIV3 0x0 scaling: 0.750000 768kb/s
    main debug: using sout stream module "stream_out_transcode"
    main debug: `rtsp://192.168.1.5:554/mpeg4/media.amp' gives access `rtsp' demux `' path `192.168.1.5:554/mpeg4/media.amp'
    main debug: creating demux: access='rtsp' demux='' path='192.168.1.5:554/mpeg4/media.amp'
    main debug: looking for access_demux module: 1 candidate
    main debug: Connection from 192.168.1.2
    live555 debug: RTP subsession 'video/MP4V-ES'
    live555 debug: RTP subsession 'video/MP4V-ES'
    live555 debug: RTP subsession 'audio/PCMU'
    live555 debug: RTP subsession 'audio/PCMU'
    live555 debug: RTP subsession 'video/MP4V-ES'
    live555 debug: We have a timeout of 60 seconds
    main debug: waiting for thread completion
    main debug: thread 4640 (liveMedia-timeout) created at priority 0 (live555.cpp:895)
    live555 debug: spawned timeout thread
    main debug: selecting program id=0
    main debug: using access_demux module "live555"
    main debug: looking for a subtitle file in C:\\
    main debug: looking for packetizer module: 17 candidates
    packetizer_mpeg4video debug: opening with vol size: 31
    main debug: using packetizer module "packetizer_mpeg4video"
    main debug: stream out mode -> no decoder thread
    main debug: looking for packetizer module: 17 candidates
    main debug: using packetizer module "packetizer_copy"
    main debug: stream out mode -> no decoder thread
    main debug: starting in sync mode
    main debug: `rtsp://192.168.1.5:554/mpeg4/media.amp' successfully opened
    packetizer_copy debug: need dts > 0
    main debug: adding a new input
    stream_out_transcode debug: creating video transcoding from fcc=`mp4v' to fcc=`DIV3'
    main debug: looking for decoder module: 27 candidates
    ffmpeg debug: libavcodec initialized (interface 3348736 )
    ffmpeg debug: postprocessing disabled
    ffmpeg debug: using direct rendering
    ffmpeg debug: ffmpeg codec (MPEG-4 Video) started
    main debug: using decoder module "ffmpeg"
    main debug: looking for encoder module: 10 candidates
    ffmpeg debug: libavcodec already initialized
    ffmpeg debug: found encoder MS MPEG-4 Video v3
    main debug: using encoder module "ffmpeg"
    main debug: removing module "ffmpeg"
    stream_out_transcode debug: decoder aspect is 576000:432000
    stream_out_transcode debug: source pixel aspect is 1.000000:1
    stream_out_transcode debug: scaled pixel aspect is 1.000000:1
    stream_out_transcode debug: source 640x480, crop 640x480, destination 160x120, padding 160x120
    stream_out_transcode debug: encoder aspect is 576000:432000
    main debug: looking for encoder module: 10 candidates
    ffmpeg debug: libavcodec already initialized
    ffmpeg debug: found encoder MS MPEG-4 Video v3
    main debug: using encoder module "ffmpeg"
    stream_out_duplicate debug: duplicated a new stream codec=DIV3 (es=0 group=0)
    main debug: adding a new input
    mux_asf debug: adding input
    stream_out_duplicate debug: - added for output 0
    main debug: looking for crop padd module: 1 candidate
    ffmpeg debug: input: 160x120 -> 640x480
    ffmpeg debug: input: 640x480 I420 -> 160x120 I420
    ffmpeg debug: libavcodec already initialized
    main debug: using crop padd module "ffmpeg"
    live555 debug: We have a timeout of 60 seconds
    main debug: waiting for thread completion
    main debug: thread 4788 (liveMedia-timeout) created at priority 0 (live555.cpp:895)
    live555 debug: spawned timeout thread
    main debug: selecting program id=0
    main debug: using access_demux module "live555"
    main debug: looking for a subtitle file in C:\\
    main debug: looking for packetizer module: 17 candidates
    packetizer_mpeg4video debug: opening with vol size: 31
    main debug: using packetizer module "packetizer_mpeg4video"
    main debug: stream out mode -> no decoder thread
    main debug: looking for packetizer module: 17 candidates
    main debug: using packetizer module "packetizer_copy"
    main debug: stream out mode -> no decoder thread
    main debug: starting in sync mode
    main debug: `rtsp://192.168.1.5:554/mpeg4/media.amp' successfully opened
    packetizer_copy debug: need dts > 0
    main debug: adding a new input
    stream_out_transcode debug: creating audio transcoding from fcc=`ulaw' to fcc=`mp3 '
    main debug: looking for decoder module: 27 candidates
    araw debug: samplerate:8000Hz channels:1 bits/sample:0
    main debug: using decoder module "araw"
    main debug: looking for encoder module: 10 candidates
    ffmpeg debug: libavcodec already initialized
    ffmpeg debug: found encoder MPEG Audio layer 1/2/3
    main debug: using encoder module "ffmpeg"
    stream_out_duplicate debug: duplicated a new stream codec=mpga (es=1 group=0)
    main debug: adding a new input
    mux_asf debug: adding input
    mux_asf debug: adding mp3 header
    stream_out_duplicate debug: - added for output 0
    live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP()
    main debug: adding a new input
    stream_out_transcode debug: creating video transcoding from fcc=`mp4v' to fcc=`DIV3'
    main debug: looking for decoder module: 27 candidates
    ffmpeg debug: libavcodec already initialized
    ffmpeg debug: postprocessing disabled
    ffmpeg debug: using direct rendering
    ffmpeg debug: ffmpeg codec (MPEG-4 Video) started
    main debug: using decoder module "ffmpeg"
    main debug: looking for encoder module: 10 candidates
    ffmpeg debug: libavcodec already initialized
    ffmpeg debug: found encoder MS MPEG-4 Video v3
    main debug: using encoder module "ffmpeg"
    main debug: removing module "ffmpeg"
    stream_out_transcode debug: decoder aspect is 576000:432000
    stream_out_transcode debug: source pixel aspect is 1.000000:1
    stream_out_transcode debug: scaled pixel aspect is 1.000000:1
    stream_out_transcode debug: source 640x480, crop 640x480, destination 320x240, padding 320x240
    stream_out_transcode debug: encoder aspect is 576000:432000
    main debug: looking for encoder module: 10 candidates
    ffmpeg debug: libavcodec already initialized
    ffmpeg debug: found encoder MS MPEG-4 Video v3
    main debug: using encoder module "ffmpeg"
    stream_out_duplicate debug: duplicated a new stream codec=DIV3 (es=0 group=0)
    main debug: adding a new input
    mux_asf debug: adding input
    stream_out_duplicate debug: - added for output 0
    main debug: looking for crop padd module: 1 candidate
    ffmpeg debug: input: 320x240 -> 640x480
    ffmpeg debug: input: 640x480 I420 -> 320x240 I420
    ffmpeg debug: libavcodec already initialized
    main debug: using crop padd module "ffmpeg"
    main debug: adding a new input
    stream_out_transcode debug: creating audio transcoding from fcc=`ulaw' to fcc=`mp3 '
    main debug: looking for decoder module: 27 candidates
    araw debug: samplerate:8000Hz channels:1 bits/sample:0
    main debug: using decoder module "araw"
    main debug: looking for encoder module: 10 candidates
    ffmpeg debug: libavcodec already initialized
    ffmpeg debug: found encoder MPEG Audio layer 1/2/3
    main debug: using encoder module "ffmpeg"
    stream_out_duplicate debug: duplicated a new stream codec=mpga (es=1 group=0)
    main debug: adding a new input
    mux_asf debug: adding input
    mux_asf debug: adding mp3 header
    stream_out_duplicate debug: - added for output 0
    live555 debug: RTP subsession 'audio/PCMU'
    main warning: clock gap, unexpected stream discontinuity
    packetizer_copy debug: need dts > 0
    mux_asf debug: Asf muxer creating header
    mux_asf debug: pixel aspect-ratio: 1/1
    live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP()
    mux_asf debug: Asf muxer creating header
    mux_asf debug: pixel aspect-ratio: 1/1
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 11935569428, last: 11935748743)
    main warning: clock gap, unexpected stream discontinuity
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 11935702806, last: 11935748743)
    packetizer_copy debug: need dts > 0
    live555 debug: We have a timeout of 60 seconds
    main debug: waiting for thread completion
    main debug: thread 4924 (liveMedia-timeout) created at priority 0 (live555.cpp:895)
    live555 debug: spawned timeout thread
    main debug: selecting program id=0
    main debug: using access_demux module "live555"
    main debug: looking for a subtitle file in C:\\
    main debug: looking for packetizer module: 17 candidates
    packetizer_mpeg4video debug: opening with vol size: 31
    main debug: using packetizer module "packetizer_mpeg4video"
    main debug: stream out mode -> no decoder thread
    main debug: looking for packetizer module: 17 candidates
    main debug: using packetizer module "packetizer_copy"
    main debug: stream out mode -> no decoder thread
    main debug: starting in sync mode
    main debug: `rtsp://192.168.1.5:554/mpeg4/media.amp' successfully opened
    packetizer_copy debug: need dts > 0
    main debug: adding a new input
    stream_out_transcode debug: creating video transcoding from fcc=`mp4v' to fcc=`DIV3'
    main debug: looking for decoder module: 27 candidates
    ffmpeg debug: libavcodec already initialized
    ffmpeg debug: postprocessing disabled
    ffmpeg debug: using direct rendering
    ffmpeg debug: ffmpeg codec (MPEG-4 Video) started
    main debug: using decoder module "ffmpeg"
    main debug: looking for encoder module: 10 candidates
    ffmpeg debug: libavcodec already initialized
    ffmpeg debug: found encoder MS MPEG-4 Video v3
    main debug: using encoder module "ffmpeg"
    main debug: removing module "ffmpeg"
    stream_out_transcode debug: decoder aspect is 576000:432000
    stream_out_transcode debug: source pixel aspect is 1.000000:1
    stream_out_transcode debug: scaled pixel aspect is 1.000000:1
    stream_out_transcode debug: source 640x480, crop 640x480, destination 480x360, padding 480x360
    stream_out_transcode debug: encoder aspect is 576000:432000
    main debug: looking for encoder module: 10 candidates
    ffmpeg debug: libavcodec already initialized
    ffmpeg debug: found encoder MS MPEG-4 Video v3
    main debug: using encoder module "ffmpeg"
    stream_out_duplicate debug: duplicated a new stream codec=DIV3 (es=0 group=0)
    main debug: adding a new input
    mux_asf debug: adding input
    stream_out_duplicate debug: - added for output 0
    main debug: looking for crop padd module: 1 candidate
    ffmpeg debug: input: 480x360 -> 640x480
    ffmpeg debug: input: 640x480 I420 -> 480x360 I420
    ffmpeg debug: libavcodec already initialized
    main debug: using crop padd module "ffmpeg"
    main debug: adding a new input
    stream_out_transcode debug: creating audio transcoding from fcc=`ulaw' to fcc=`mp3 '
    main debug: looking for decoder module: 27 candidates
    araw debug: samplerate:8000Hz channels:1 bits/sample:0
    main debug: using decoder module "araw"
    main debug: looking for encoder module: 10 candidates
    ffmpeg debug: libavcodec already initialized
    ffmpeg debug: found encoder MPEG Audio layer 1/2/3
    main debug: using encoder module "ffmpeg"
    stream_out_duplicate debug: duplicated a new stream codec=mpga (es=1 group=0)
    main debug: adding a new input
    mux_asf debug: adding input
    mux_asf debug: adding mp3 header
    stream_out_duplicate debug: - added for output 0
    live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP()
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 12198571099, last: 23292866188)
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 12201840974, last: 23292866188)
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 12202074330, last: 23292866188)
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 12202241041, last: 23292866188)
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 12202341052, last: 23292866188)
    mux_asf debug: Asf muxer creating header
    mux_asf debug: pixel aspect-ratio: 1/1
    main warning: late buffer for mux input (110955)
    live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP()
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 12202574397, last: 23292866188)
    live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP()
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 12202641085, last: 23292866188)
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 12200497640, last: 23295084585)
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 11939551156, last: 11939689378)
    main warning: clock gap, unexpected stream discontinuity
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 12202974463, last: 23292866188)
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 12204052047, last: 23295084585)
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 12203241163, last: 23292866188)
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 12204318747, last: 23295084585)
    packetizer_copy debug: need dts > 0
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 12203441208, last: 23292866188)
    ffmpeg warning: almost fed libavcodec with a frame in the past (current: 12204518792, last: 23295084585)
It seems like the encoding errors are related to problems on the input stream, but we don't know how to avoid these. Any advice?

Cheers,
R&S

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 19 Mar 2007 22:17

Try adding some input caching (using --udp-caching <time in ms>). Or maybe change the rtp reordering timeout (--rtp-late <time in ms>. Default value is 100. But i doubt that this is your problem)
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

FireW0lf
Blank Cone
Blank Cone
Posts: 27
Joined: 20 Jan 2005 08:01

Postby FireW0lf » 27 Mar 2007 19:08

Can't you have duplicate outputs from a single input when using VLM, just like in VLC normally?

If so, scrap the 2nd and 3rd broadcast, and integrate them all in the first - that way you only need to snatch one copy of the input too - might get rid of that choppiness, which is most likely caused by 3 threads of VLC trying to grab the output from 1 device...

miran
New Cone
New Cone
Posts: 1
Joined: 17 Apr 2008 09:27

Re: VLM single input, multi-output from live IP source

Postby miran » 17 Apr 2008 09:32

Hi,

I have similar problem, did you find a solution for this?

Miran


Return to “VLM”

Who is online

Users browsing this forum: No registered users and 0 guests