BTW, where are you going to live in Oz?
I am returning to Melbourne after 6 years in the UK.
My master plan is to build a VLC capture engine into WebScheduler or should I say Open TV Scheduler
Hi Ken
Thought I'd add a bit on top of what Grant has already given you.
VLC 9 has trouble transcoding anything, whether it be a file or output from a dvb-t card. It crashes out in Libffmpeg_plugin.dll whenever transcoding with a vcodec is used. The acodec=wma tends to get ignored if it on it's own. Herer is a simple mpeg file transcode that crashes out. It consists of mpgv and mpga similar to dvb-t input, which is why I chose it.
"C:/VLC-0.9.0/VLC.exe" "d:\video\test.mpg" :sout=#transcode{vcodec=mpgv,vb=2048,scale=1,acodec=mpga,ab=192,channels=2}:duplicate{dst=display,dst=std{access=http,mux=ts,dst=:8080}} --file-logging --logfile c:\vlc-0.9.0\vlc9log.txt --logmode text --no-spu --no-sub-autodetect-file
I will attach the log below.
It does not matter what the codecs are in the transcode stream, I have tried a host of them with the same result. If I try the same with a dvb-t stream the results are similar.
Below is what I want to achieve, although if I substitute codecs (eg mp1v, mpga and streaming parameters eg http and ts) then result is similar.
AppName: vlc.exe AppVer: 0.9.0.0 ModName: libffmpeg_plugin.dll
ModVer: 0.0.0.0 Offset: 002e602e
"C:/VLC-0.9.0/VLC.exe" dvbt:// :dvb-frequency=177500 :dvb-bandwidth=7
:sout=#transcode{vcodec=WMV2,vb=2048,scale=1,acodec=wma,ab=192,channels=2}:duplicate{dst=std
{access=mmsh,mux=asfh,dst=:8080}} --file-logging --logfile c:\vlc-0.9.0\vlc9log.txt --logmode text --no3dn --no-spu --no-sub-autodetect-file
Whilst I have been able to help Grant, I am now at a standstill, since the problem is in the heart of VLC 9 transcoding, Yes I can stream an initial http stream onto another version of VLC 8.6c and stream what I want from there, it is a bit inefficient. I am an experienced systems engineer long since retired, but am not up to date with current coding techniques. VBA was my last swansong, so Java/C++ etc and the rest are new to me. I do however know how to drill down to isolate problems, if I can help with some testing I would be happy to do so, but might need some lessons in your syntax and methods.
This is log for test.mpg version
-- 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 error: Reloading playlist not implemented.
main debug: waiting for thread completion
main debug: thread 4108 (preparser) created at priority 0 (playlist/thread.c:81)
main debug: waiting for thread completion
main debug: thread 4124 (fetcher) created at priority 0 (playlist/thread.c:107)
main debug: waiting for thread completion
main debug: thread 4128 (playlist) created at priority 0 (playlist/thread.c:117)
main debug: rebuilding array of current - root Playlist
main debug: rebuild done - 0 items, index -1
main debug: looking for interface module: 1 candidate
main debug: using interface module "hotkeys"
main debug: thread 4152 (interface) created at priority 0 (interface/interface.c:218)
main debug: looking for interface module: 1 candidate
logger: VLC media player - version 0.9.0-svn-20070813-0000 Grishenko - (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 debug: opening logfile `c:\vlc-0.9.0\vlc9log.txt'
main debug: using interface module "logger"
main debug: thread 4176 (interface) created at priority 0 (interface/interface.c:218)
main debug: adding item `test.mpg' ( d:\video\test.mpg )
main debug: looking for interface module: 4 candidates
main debug: using interface module "qt4"
main debug: rebuilding array of current - root Playlist
main debug: rebuild done - 1 items, index -1
main debug: starting new item
main debug: changing item without a request (current -1/1)
main debug: using item 0
main debug: creating new input thread
main debug: waiting for thread completion
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
main debug: thread 4452 (input) created at priority 1 (input/input.c:332)
main debug: requesting art for test.mpg
stream_out_duplicate debug: creating 'duplicate'
stream_out_duplicate debug: * adding `display'
main debug: stream=`display'
main debug: looking for sout stream module: 1 candidate
main debug: using sout stream module "stream_out_display"
stream_out_duplicate debug: * adding `std{access=http,mux=ts,dst=:8080}'
main debug: stream=`std'
main debug: looking for sout stream module: 1 candidate
main error: name = sout-standard-access
main debug: set config option: sout-standard-access to http
main error: name = sout-standard-mux
main debug: set config option: sout-standard-mux to ts
main error: name = sout-standard-dst
main debug: set config option: sout-standard-dst to :8080
stream_out_standard debug: creating `http/ts://:8080'
stream_out_standard debug: using `http/ts://:8080'
main debug: looking for sout access module: 1 candidate
main: creating httpd
main debug: net: listening to port 8080
main debug: thread 4620 (httpd host thread) created at priority 0 (network/httpd.c:1099)
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_ts debug: shaping=200000 pcr=70000 dts_delay=400000
main debug: using sout mux module "mux_ts"
main debug: muxer support adding stream at any time
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 error: name = sout-transcode-vcodec
main debug: set config option: sout-transcode-vcodec to mpgv
main error: name = sout-transcode-vb
main debug: set config option: sout-transcode-vb to 2048
main error: name = sout-transcode-scale
main debug: set config option: sout-transcode-scale to 1
main error: name = sout-transcode-acodec
main debug: set config option: sout-transcode-acodec to mpga
main error: name = sout-transcode-ab
main debug: set config option: sout-transcode-ab to 192
main error: name = sout-transcode-channels
main debug: set config option: sout-transcode-channels to 2
stream_out_transcode debug: codec audio=mpga 0Hz 2 channels 192Kb/s
stream_out_transcode debug: codec video=mpgv 0x0 scaling: 1.000000 2048kb/s
main debug: using sout stream module "stream_out_transcode"
main debug: drive letter d: found in source
main debug: `d:\video\test.mpg' gives access `' demux `' path `d:\video\test.mpg'
main debug: creating demux: access='' demux='' path='d:\video\test.mpg'
main debug: looking for access_demux module: 1 candidate
main debug: creating access '' path='d:\video\test.mpg'
main debug: looking for access2 module: 5 candidates
vcd debug: trying .cue file: d:\video\test.cue
vcd debug: could not find .cue file
access_directory debug: opening directory `d:\video\test.mpg'
access_directory debug: skipping non-directory `d:\video\test.mpg'
access_file debug: opening file `d:\video\test.mpg'
main debug: using access2 module "access_file"
main debug: pre-buffering...
main debug: received first data for our buffer
main debug: pre-buffering done 1408981 bytes in 0s - 85992 kbytes/s
main debug: drive letter d: found in source
main debug: creating demux: access='' demux='' path='d:\video\test.mpg'
main debug: looking for demux2 module: 48 candidates
main debug: using demux2 module "ps"
main debug: starting in sync mode
main debug: `d:\video\test.mpg' successfully opened
ps warning: garbage at input, trying to resync...
ps warning: found sync code
ps debug: we found a length of: 26400000
main debug: selecting program id=0
main debug: looking for packetizer module: 18 candidates
main debug: searching art for test.mpg
main debug: looking for art finder module: 2 candidates
googleimage debug: going to request
http://images.google.com/images?q=test&ie=UTF-8
main debug: creating access 'http' path='images.google.com/images?q=test&ie=UTF-8'
main debug: looking for access2 module: 2 candidates
access_http debug: http: server='images.google.com' port=80 file='/images?q=test&ie=UTF-8
main debug: net: connecting to images.google.com port 80
main debug: using packetizer module "packetizer_mpegvideo"
main debug: stream out mode -> no decoder thread
packetizer_mpegvideo debug: size 720x576 fps=25.000
main debug: connection in progress
main debug: adding a new input
stream_out_transcode debug: creating video transcoding from fcc=`mpgv' to fcc=`mpgv'
main debug: looking for decoder module: 29 candidates
main debug: using decoder module "libmpeg2"
main debug: looking for encoder module: 11 candidates
ffmpeg debug: libavcodec initialized (interface 3352580 )
ffmpeg debug: found encoder MPEG-2 Video
main debug: using encoder module "ffmpeg"
main debug: removing module "ffmpeg"
libmpeg2 debug: 720x576 (display 720,576), aspect 576000, sar 16:15, 25.000 fps
main warning: dts != current_pts (-115378)
main warning: backward_pts != current_pts (-40000)
stream_out_transcode debug: decoder aspect is 576000:432000
stream_out_transcode debug: source pixel aspect is 1.066667:1
stream_out_transcode debug: scaled pixel aspect is 1.066667:1
stream_out_transcode debug: source 720x576, crop 720x576, destination 720x576, padding 720x576
stream_out_transcode debug: encoder aspect is 576000:432000
main debug: looking for encoder module: 11 candidates
ffmpeg debug: libavcodec already initialized
ffmpeg debug: removing common factors from framerate
(mpeg2video@00BA0F00)
ffmpeg debug: found encoder MPEG-2 Video
main debug: using encoder module "ffmpeg"
stream_out_duplicate debug: duplicated a new stream codec=mpgv (es=0 group=0)
main debug: looking for decoder module: 29 candidates
main debug: using decoder module "libmpeg2"
main debug: thread 4904 (decoder) created at priority 0 (input/decoder.c:191)
stream_out_duplicate debug: - added for output 0
main debug: adding a new input
mux_ts debug: adding input codec=mpgv pid=68
mux_ts debug: new PCR PID is 68
stream_out_duplicate debug: - added for output 1
access_http debug: protocol 'HTTP' answer code 200
access_http debug: Content-Type: text/html; charset=ISO-8859-1
access_http debug: Server: GWS/2.1
access_http debug: Transfer-Encoding: chunked
main debug: using access2 module "access_http"
main debug: pre-buffering...
main debug: received first data for our buffer
main debug: pre-buffering done 10162 bytes in 1s - 8 kbytes/s
main debug: removing module "access_http"
googleimage debug: Image is at '
http://xunitpatterns.com/Test%2520Double.gif'
main debug: using art finder module "googleimage"
main debug: removing module "googleimage"
main debug: downloading art for test.mpg