Coder Social home page Coder Social logo

gfto / tomcast Goto Github PK

View Code? Open in Web Editor NEW
33.0 33.0 12.0 67 KB

tomcast reads mpeg transport streams over http or udp (multicast or unicast) and outputs them to chosen multicast group. Basically a simple http2multicast daemon designed to work 24/7.

License: GNU General Public License v2.0

Makefile 1.46% C 98.54%

tomcast's People

Contributors

barhom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tomcast's Issues

new commit doesnt build on debian 9

It doesn't build because of;

/tomcast# make
CC tomcast web_pages.c
In file included from web_pages.c:31:0:
config.h:84:2: error: unknown type name ‘bool’
bool allow_encrypted_input;
^

#include <stdbool.h>
in config.h fixes it.

RFE: IGMP support

Hi,

I have one suggestion: Add support for IGMP server support. The idea is do the streaming only when someone joins the multicast address. The objective is execute the HTTP request only when some user needs the multicast stream.

This sounds good?

YouTube link as input source

Hello gfto,
Is it possible to add source from YouTube live streaming channel to UDP output?
It's good option for IPTV user.
Isn't it?

VLC don't play

Hey,
your Proxy is my Lifesaver ... I'm using it with TVHeadend.
Our Exterity Setop Box play the UDP without any Problems. But i can't get VLC to work with it.

Whats going wrong here? Any Ideas?

scrambled input

Hey,

I had a case where my tomcast was saying "scrambled input detected" even though I never turned it on using the flag ('E').

Also, the input was never scrambled.

"streamed" sources instead of bursty sources

Hey,

So some channels that we fetch are a bit bursty and are not "streamed".
We solve this by using ffmpeg -re -i INPUT -c copy -f mpegts udp://239...?pkt_size=1316

Would it be possible for tomcast to do this functionality instead of adding ffmpeg dependancy?
What would be needed?

Aug 18 10:59:05 host unixsol-tomcast: CONN : Connected dst_fd: 3 | Chan: discovery Dest: udp://192.168.10.6:5000

Hi,

i have a eyetv Netstream, and want to descramble sky discovery with tsdecrypt.
But tsdecrypt only supports multicast, and the netstream only http unicast.
so, here comes tomcast.
before the release of tomcast, i've tried vlc, but because of the encryption, vlc was not able to proxy from http to udp, here is a detailed vlc log:

acid@obelix ~ $ cvlc -vvv "http://192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF" --sout '#udp{dst=0.0.0.0:1234}'
VLC media player 2.0.8 Twoflower (revision 2.0.8a-0-g68cf50b)
[0x1fc5108] main libvlc debug: VLC media player - 2.0.8 Twoflower
[0x1fc5108] main libvlc debug: Copyright © 1996-2013 VLC authors and VideoLAN
[0x1fc5108] main libvlc debug: revision 2.0.8a-0-g68cf50b
[0x1fc5108] main libvlc debug: configured with ./configure  '--enable-static' '--build=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security' 'CPPFLAGS=-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro' '--config-cache' '--disable-maintainer-mode' '--disable-silent-rules' '--disable-update-check' '--enable-fast-install' '--prefix=/usr' '--docdir=/usr/share/doc/vlc-nox' '--sysconfdir=/etc' '--with-binary-version=0ubuntu0.12.04.1' '--enable-a52' '--enable-aa' '--enable-bluray' '--enable-bonjour' '--enable-caca' '--enable-dbus' '--enable-dca' '--enable-dirac' '--enable-directfb' '--enable-dvbpsi' '--enable-dvdnav' '--enable-faad' '--enable-flac' '--enable-fluidsynth' '--enable-freetype' '--enable-fribidi' '--enable-gnutls' '--enable-jack' '--enable-kate' '--enable-libass' '--enable-libmpeg2' '--enable-libproxy' '--enable-libxml2' '--enable-lirc' '--enable-live555' '--enable-mad' '--enable-mkv' '--enable-mod' '--enable-mpc' '--enable-mtp' '--enable-mux_ogg' '--enable-ncurses' '--enable-notify' '--enable-ogg' '--enable-oss' '--enable-pulse' '--enable-qt4' '--enable-realrtsp' '--enable-samplerate' '--enable-schroedinger' '--enable-sdl' '--enable-shout' '--enable-skins2' '--enable-smb' '--enable-speex' '--enable-svg' '--enable-taglib' '--enable-theora' '--enable-twolame' '--enable-upnp' '--enable-vcd' '--enable-vcdx' '--enable-vorbis' '--enable-x264' '--enable-zvbi' '--with-kde-solid=/usr/share/kde4/apps/solid/actions/' '--disable-dxva2' '--disable-gnomevfs' '--disable-goom' '--disable-portaudio' '--disable-projectm' '--disable-sqlite' '--disable-telx' '--enable-alsa' '--enable-atmo' '--enable-dc1394' '--enable-dv' '--enable-fbosd' '--enable-libva' '--enable-linsys' '--enable-omxil' '--enable-pvr' '--enable-udev' '--enable-v4l2' '--enable-crystalhd' '--enable-mmx' '--enable-sse' '--disable-neon' '--disable-altivec' 'build_alias=x86_64-linux-gnu'
[0x1fc5108] main libvlc debug: searching plug-in modules
[0x1fc5108] main libvlc debug: loading plugins cache file /usr/lib/vlc/plugins/plugins.dat
[0x1fc5108] main libvlc debug: recursively browsing `/usr/lib/vlc/plugins'
[0x1fc5108] main libvlc debug: saving plugins cache /usr/lib/vlc/plugins/plugins.dat
[0x1fc5108] main libvlc debug: plug-ins loaded: 420 modules
[0x1fc5108] main libvlc debug: opening config file (/home/acid/.config/vlc/vlcrc)
[0x1fc5108] main libvlc debug: translation test: code is "de"
[0x1fc5108] main libvlc debug: CPU has capabilities MMX 3DNow! MMXEXT SSE SSE2 SSE3 FPU
[0x1fc5108] main libvlc debug: looking for memcpy module: 4 candidates
[0x1fc5108] main libvlc debug: using memcpy module "memcpymmxext"
[0x21f92d8] main input debug: Creating an input for 'Medienbibliothek'
[0x21f92d8] main input debug: Input is a meta file: disabling unneeded options
[0x21f92d8] main input debug: using timeshift granularity of 50 MiB, in path '/tmp'
[0x21f92d8] main input debug: `file/xspf-open:///home/acid/.local/share/vlc/ml.xspf' gives access `file' demux `xspf-open' path `/home/acid/.local/share/vlc/ml.xspf'
[0x21f92d8] main input debug: creating demux: access='file' demux='xspf-open' location='/home/acid/.local/share/vlc/ml.xspf' file='/home/acid/.local/share/vlc/ml.xspf'
[0x1ff4758] main demux debug: looking for access_demux module: 3 candidates
[0x1ff4758] main demux debug: no access_demux module matching "file" could be loaded
[0x1ff4758] main demux debug: TIMER module_need() : 3.101 ms - Total 3.101 ms / 1 intvls (Avg 3.101 ms)
[0x21f92d8] main input debug: creating access 'file' location='/home/acid/.local/share/vlc/ml.xspf', path='/home/acid/.local/share/vlc/ml.xspf'
[0x2090e48] main access debug: looking for access module: 2 candidates
[0x2090e48] filesystem access debug: opening file `/home/acid/.local/share/vlc/ml.xspf'
[0x2090e48] main access debug: using access module "filesystem"
[0x2090e48] main access debug: TIMER module_need() : 1.857 ms - Total 1.857 ms / 1 intvls (Avg 1.857 ms)
[0x2090f98] main stream debug: Using stream method for AStream*
[0x2090f98] main stream debug: starting pre-buffering
[0x2090f98] main stream debug: received first data after 5 ms
[0x2090f98] main stream debug: pre-buffering done 299 bytes in 0s - 44 KiB/s
[0x20911f8] main stream debug: looking for stream_filter module: 7 candidates
[0x20911f8] main stream debug: no stream_filter module matching "any" could be loaded
[0x20911f8] main stream debug: TIMER module_need() : 4.261 ms - Total 4.261 ms / 1 intvls (Avg 4.261 ms)
[0x20911f8] main stream debug: looking for stream_filter module: 1 candidate
[0x20911f8] main stream debug: using stream_filter module "stream_filter_record"
[0x20911f8] main stream debug: TIMER module_need() : 1.201 ms - Total 1.201 ms / 1 intvls (Avg 1.201 ms)
[0x21f92d8] main input debug: creating demux: access='file' demux='xspf-open' location='/home/acid/.local/share/vlc/ml.xspf' file='/home/acid/.local/share/vlc/ml.xspf'
[0x2094308] main demux debug: looking for demux module: 1 candidate
[0x2094308] playlist demux debug: using XSPF playlist reader
[0x2094308] main demux debug: using demux module "playlist"
[0x2094308] main demux debug: TIMER module_need() : 1.981 ms - Total 1.981 ms / 1 intvls (Avg 1.981 ms)
[0x2094c18] main demux meta debug: looking for meta reader module: 2 candidates
[0x2094c18] lua demux meta debug: Trying Lua scripts in /home/acid/.local/share/vlc/lua/meta/reader
[0x2094c18] lua demux meta debug: Trying Lua scripts in /usr/lib/vlc/lua/meta/reader
[0x2094c18] lua demux meta debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/reader/filename.luac
[0x2094c18] lua demux meta debug: Trying Lua scripts in /usr/share/vlc/lua/meta/reader
[0x2094c18] main demux meta debug: no meta reader module matching "any" could be loaded
[0x2094c18] main demux meta debug: TIMER module_need() : 21.612 ms - Total 21.612 ms / 1 intvls (Avg 21.612 ms)
[0x21f92d8] main input debug: `file/xspf-open:///home/acid/.local/share/vlc/ml.xspf' successfully opened
[0x1ff6fe8] main xml reader debug: looking for xml reader module: 1 candidate
[0x1ff6fe8] main xml reader debug: using xml reader module "xml"
[0x1ff6fe8] main xml reader debug: TIMER module_need() : 14.226 ms - Total 14.226 ms / 1 intvls (Avg 14.226 ms)
[0x2094308] playlist demux debug: parsed 0 tracks successfully
[0x21f92d8] main input debug: EOF reached
[0x2094308] main demux debug: removing module "playlist"
[0x20911f8] main stream debug: removing module "stream_filter_record"
[0x2090e48] main access debug: removing module "filesystem"
[0x21f92d8] main input debug: TIMER input launching for 'Medienbibliothek' : 49.859 ms - Total 49.859 ms / 1 intvls (Avg 49.859 ms)
[0x1ff4448] main interface debug: looking for interface module: 1 candidate
[0x1ff4448] main interface debug: using interface module "hotkeys"
[0x1ff4448] main interface debug: TIMER module_need() : 1.459 ms - Total 1.459 ms / 1 intvls (Avg 1.459 ms)
[0x21fa868] main interface debug: looking for interface module: 1 candidate
[0x21fa868] inhibit interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
[0x21fa868] main interface debug: no interface module matching "inhibit,none" could be loaded
[0x21fa868] main interface debug: TIMER module_need() : 1.626 ms - Total 1.626 ms / 1 intvls (Avg 1.626 ms)
[0x21fa868] main interface error: no suitable interface module
[0x208fc78] main playlist debug: playlist threads correctly activated
[0x208fc78] main playlist debug: adding item `http://192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF' ( http://192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF )
[0x208fc78] main playlist debug: rebuilding array of current - root Wiedergabeliste
[0x208fc78] main playlist debug: rebuild done - 0 items, index -1
[0x208fc78] main playlist debug: no fetch required for (null) (art currently (null))
[0x21fa868] main interface debug: looking for interface module: 1 candidate
[0x21fa868] main interface debug: no interface module matching "globalhotkeys,none" could be loaded
[0x21fa868] main interface debug: TIMER module_need() : 10.345 ms - Total 10.345 ms / 1 intvls (Avg 10.345 ms)
[0x21fa868] main interface error: no suitable interface module
[0x1fc5108] main libvlc error: interface "globalhotkeys,none" initialization failed
[0x21fa868] main interface debug: looking for interface module: 1 candidate
[0x21fa868] dummy interface: using the dummy interface module...
[0x21fa868] main interface debug: using interface module "dummy"
[0x21fa868] main interface debug: TIMER module_need() : 1.500 ms - Total 1.500 ms / 1 intvls (Avg 1.500 ms)
[0x208fc78] main playlist debug: processing request item: null, node: Wiedergabeliste, skip: 0
[0x208fc78] main playlist debug: rebuilding array of current - root Wiedergabeliste
[0x208fc78] main playlist debug: rebuild done - 1 items, index -1
[0x208fc78] main playlist debug: starting playback of the new playlist item
[0x208fc78] main playlist debug: resyncing on http://192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF
[0x208fc78] main playlist debug: http://192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF is at 0
[0x208fc78] main playlist debug: creating new input thread
[0x7f579c000b28] main input debug: Creating an input for 'http://192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF'
[0x7f5794000ea8] main stream output debug: using sout chain=`udp{dst=0.0.0.0:1234}'
[0x7f5794000ea8] main stream output debug: stream=`udp'
[0x7f5794001188] main stream out debug: looking for sout stream module: 1 candidate
[0x7f5794001188] main stream out debug: set config option: sout-standard-dst to 0.0.0.0:1234
[0x7f5794003fc8] main access out debug: looking for sout access module: 1 candidate
[0x7f5794003fc8] main access out debug: net: connecting to [0.0.0.0]:1234
[0x7f5794003fc8] access_output_udp access out debug: source: 127.0.0.1 port 32997
[0x7f5794003fc8] access_output_udp access out debug: destination: 127.0.0.1 port 1234
[0x7f5794003fc8] main access out debug: using sout access module "access_output_udp"
[0x7f5794003fc8] main access out debug: TIMER module_need() : 6.025 ms - Total 6.025 ms / 1 intvls (Avg 6.025 ms)
[0x7f57940056e8] main mux debug: looking for sout mux module: 1 candidate
[0x7f57940056e8] mux_ts mux debug: shaping=200000 pcr=70000 dts_delay=400000
[0x7f57940056e8] main mux debug: using sout mux module "mux_ts"
[0x7f57940056e8] main mux debug: TIMER module_need() : 18.626 ms - Total 18.626 ms / 1 intvls (Avg 18.626 ms)
[0x7f5794000ea8] main stream output debug: muxer support adding stream at any time
[0x7f5794000ea8] main stream output debug: muxer prefers to wait for all ES before starting to mux
[0x7f5794001188] stream_out_standard stream out debug: using `udp/ts://0.0.0.0:1234'
[0x7f5794001188] main stream out debug: using sout stream module "stream_out_standard"
[0x7f5794001188] main stream out debug: TIMER module_need() : 35.114 ms - Total 35.114 ms / 1 intvls (Avg 35.114 ms)
[0x7f579c000b28] main input debug: using timeshift granularity of 50 MiB, in path '/tmp'
[0x7f579c000b28] main input debug: `http://192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF' gives access `http' demux `' path `192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF'
[0x7f579c000b28] main input debug: creating demux: access='http' demux='' location='192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF' file='(null)'
[0x7f57940023b8] main demux debug: looking for access_demux module: 0 candidates
[0x7f57940023b8] main demux debug: no access_demux module matched "http"
[0x7f57940023b8] main demux debug: TIMER module_need() : 4.122 ms - Total 4.122 ms / 1 intvls (Avg 4.122 ms)
[0x7f579c000b28] main input debug: creating access 'http' location='192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF', path='(null)'
[0x7f5794002668] main access debug: looking for access module: 2 candidates
[0x7f5794002668] access_http access debug: asking libproxy about url 'http://192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF'
[0x7f5794002668] access_http access debug: libproxy suggest to use 'direct://'
[0x7f5794002668] access_http access debug: http: server='192.168.10.25' port=80 file='/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF'
[0x7f5794002668] main access debug: net: connecting to 192.168.10.25 port 80
[0x7f5794002668] main access debug: connection succeeded (socket = 7)
[0x7f5794002668] access_http access debug: protocol 'HTTP' answer code 302
[0x7f5794002668] access_http access debug: this frame size=0
[0x7f5794002668] access_http access debug: Connection: close
[0x7f5794002668] access_http access debug: Server: lighttpd/1.4.22
[0x7f5794002668] access_http access debug: redirection to http://192.168.10.25:10001
[0x7f5794002668] access_http access debug: asking libproxy about url 'http://192.168.10.25:10001'
[0x7f5794002668] access_http access debug: libproxy suggest to use 'direct://'
[0x7f5794002668] access_http access debug: http: server='192.168.10.25' port=10001 file=''
[0x7f5794002668] main access debug: net: connecting to 192.168.10.25 port 10001
[0x7f5794002668] main access debug: connection succeeded (socket = 7)
[0x7f5794002668] access_http access debug: protocol 'HTTP' answer code 200
[0x7f5794002668] access_http access debug: Connection: close
[0x7f5794002668] access_http access debug: Content-Type: application/octet-stream
[0x7f5794002668] main access debug: using access module "access_http"
[0x7f5794002668] main access debug: TIMER module_need() : 1542.330 ms - Total 1542.330 ms / 1 intvls (Avg 1542.330 ms)
[0x7f579400f178] main stream debug: Using stream method for AStream*
[0x7f579400f178] main stream debug: starting pre-buffering
[0x7f579400f178] main stream debug: received first data after 15 ms
[0x7f579400f178] main stream debug: pre-buffering done 1024 bytes in 0s - 64 KiB/s
[0x7f57940037f8] main stream debug: looking for stream_filter module: 7 candidates
[0x7f57940037f8] main stream debug: no stream_filter module matching "any" could be loaded
[0x7f57940037f8] main stream debug: TIMER module_need() : 1.020 ms - Total 1.020 ms / 1 intvls (Avg 1.020 ms)
[0x7f57940037f8] main stream debug: looking for stream_filter module: 1 candidate
[0x7f57940037f8] main stream debug: using stream_filter module "stream_filter_record"
[0x7f57940037f8] main stream debug: TIMER module_need() : 0.526 ms - Total 0.526 ms / 1 intvls (Avg 0.526 ms)
[0x7f579c000b28] main input debug: creating demux: access='http' demux='' location='192.168.10.25:10001' file='(null)'
[0x7f579400d7d8] main demux debug: looking for demux module: 54 candidates
[0x7f579400d7d8] mod demux debug: MOD validation failed (ext=)
[0x7f579400d7d8] ts demux debug: pid[3071] unknown
[0x7f579400d7d8] ts demux debug: pid[3072] unknown
[0x7f579400d7d8] ts demux debug: pid[1] unknown
[0x7f579400d7d8] ts demux debug: pid[107] unknown
[0x7f579400d7d8] ts demux debug: pid[32] unknown
libdvbpsi error (PSI decoder): TS discontinuity (received 13, expected 0) for PID 0
[0x7f579400d7d8] ts demux debug: PATCallBack called
[0x7f579400d7d8] ts demux debug: new PAT ts_id=4 version=28 current_next=1
[0x7f579400d7d8] ts demux debug:   * number=14 pid=107
libdvbpsi error (PSI decoder): TS discontinuity (received 7, expected 0) for PID 107
[0x7f579400d7d8] ts demux debug: PMTCallBack called
[0x7f579400d7d8] ts demux debug: new PMT program number=14 version=3 pid_pcr=3071
[0x7f579400d7d8] ts demux debug:  * descriptor : CA (0x9) SysID 0x1702
[0x7f579400d7d8] ts demux debug:  * descriptor : CA (0x9) SysID 0x1833
[0x7f579400d7d8] ts demux debug:  * descriptor : CA (0x9) SysID 0x9c4
[0x7f579400d7d8] ts demux debug:  * descriptor : CA (0x9) SysID 0x9af
[0x7f579400d7d8] ts demux debug:  * descriptor : CA (0x9) SysID 0x98c
[0x7f579400d7d8] ts demux debug:   * es pid=32 type=6 dr->i_tag=0x52
[0x7f579400d7d8] ts demux debug:   * es pid=32 type=6 dr->i_tag=0x56
[0x7f579400d7d8] ts demux debug:     * ttxt type=Teletext lan=deu page=100
[0x7f579400d7d8] ts demux debug:     * Stream Component Identifier: 10
[0x7f579400d7d8] ts demux debug:   * es pid=32 type=6 fcc=telx
[0x7f579c000b28] main input debug: selecting program id=14
[0x7f579400d7d8] ts demux debug:   * es pid=3071 type=2 dr->i_tag=0x52
[0x7f579400d7d8] ts demux debug:   * es pid=3071 type=2 fcc=mpgv
[0x7f579400d7d8] ts demux debug:   * es pid=3072 type=3 dr->i_tag=0xa
[0x7f579400d7d8] ts demux debug:   * es pid=3072 type=3 dr->i_tag=0x52
[0x7f579400d7d8] ts demux debug: found language: deu
[0x7f579400d7d8] ts demux debug:   * es pid=3072 type=3 fcc=mpga
[0x7f5794002668] access_http access warning: unimplemented query in control
[0x7f579400d7d8] main demux debug: using demux module "ts"
[0x7f579400d7d8] main demux debug: TIMER module_need() : 105.383 ms - Total 105.383 ms / 1 intvls (Avg 105.383 ms)
[0x7f5794c0f308] main decoder debug: looking for packetizer module: 21 candidates
[0x7f5794c0f308] main decoder debug: using packetizer module "packetizer_mpegvideo"
[0x7f5794c0f308] main decoder debug: TIMER module_need() : 6.269 ms - Total 6.269 ms / 1 intvls (Avg 6.269 ms)
[0x7f5794ca0758] main decoder debug: looking for packetizer module: 21 candidates
[0x7f5794ca0758] main decoder debug: using packetizer module "mpeg_audio"
[0x7f5794ca0758] main decoder debug: TIMER module_need() : 1.672 ms - Total 1.672 ms / 1 intvls (Avg 1.672 ms)
[0x7f579400d7d8] ts demux debug: DEMUX_SET_GROUP 0 (nil)
[0x7f579c000b28] main input debug: starting in async mode
[0x7f5794ca98f8] main demux meta debug: looking for meta reader module: 2 candidates
[0x7f5794ca98f8] lua demux meta debug: Trying Lua scripts in /home/acid/.local/share/vlc/lua/meta/reader
[0x7f5794ca98f8] lua demux meta debug: Trying Lua scripts in /usr/lib/vlc/lua/meta/reader
[0x7f5794ca98f8] lua demux meta debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/reader/filename.luac
[0x7f5794ca98f8] lua demux meta debug: Trying Lua scripts in /usr/share/vlc/lua/meta/reader
[0x7f5794ca98f8] main demux meta debug: no meta reader module matching "any" could be loaded
[0x7f5794ca98f8] main demux meta debug: TIMER module_need() : 3.064 ms - Total 3.064 ms / 1 intvls (Avg 3.064 ms)
[0x7f579c000b28] main input debug: `http://192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF' successfully opened
[0x7f579400d7d8] ts demux warning: first packet for pid=3071 cc=0xc
[0x7f579400d7d8] ts demux warning: scrambled state changed on pid 3071 (0->1)
[0x7f579400d7d8] ts demux warning: first packet for pid=3072 cc=0xa
[0x7f579400d7d8] ts demux warning: scrambled state changed on pid 3072 (0->1)
[0x7f579400d7d8] ts demux warning: first packet for pid=32 cc=0xd
[0x7f579c000b28] main input debug: Buffering 0%
[0x7f579c000b28] main input debug: Buffering 3%
[0x7f579c000b28] main input debug: Buffering 7%
[0x7f579c000b28] main input debug: Buffering 11%
[0x7f579400d7d8] ts demux debug: pid[6688] unknown
[0x7f579400d7d8] ts demux debug: pid[7968] unknown
[0x7f579400d7d8] ts demux debug: pid[6944] unknown
[0x7f579c000b28] main input debug: Buffering 15%
[0x7f579400d7d8] ts demux warning: invalid header [0x89:f9:dc:35] (pid: 3072)
[0x7f579400d7d8] ts demux warning: invalid header [0xfe:a1:2d:8f] (pid: 3071)
[0x7f579400d7d8] ts demux warning: invalid header [0x7c:a5:ba:36] (pid: 3071)
[0x7f579c000b28] main input debug: Buffering 18%
[0x7f579400d7d8] ts demux warning: invalid header [0x5f:5c:3d:5e] (pid: 3071)
[0x7f579400d7d8] ts demux warning: invalid header [0x1e:85:64:af] (pid: 3071)
[0x7f579c000b28] main input debug: Buffering 22%
[0x7f579400d7d8] ts demux warning: invalid header [0x21:44:6f:ae] (pid: 3071)
[0x7f579400d7d8] ts demux debug: pid[5920] unknown
[0x7f579400d7d8] ts demux debug: pid[6176] unknown
[0x7f579c000b28] main input debug: Buffering 26%
[0x7f579400d7d8] ts demux warning: invalid header [0x62:91:f3:73] (pid: 3071)
[0x7f579400d7d8] ts demux warning: invalid header [0x81:ed:c6:0e] (pid: 3071)
[0x7f579400d7d8] ts demux warning: invalid header [0xb4:e7:3e:03] (pid: 3072)
[0x7f579c000b28] main input debug: Buffering 30%
[0x7f579400d7d8] ts demux warning: invalid header [0xfa:7b:bd:17] (pid: 3071)
[0x7f579c000b28] main input debug: Buffering 33%
[0x7f579400d7d8] ts demux warning: invalid header [0xf9:fc:ae:2d] (pid: 3071)
[0x7f579400d7d8] ts demux warning: invalid header [0x6a:83:9c:48] (pid: 3071)
[0x7f579c000b28] main input debug: Buffering 37%
[0x7f579c000b28] main input debug: Buffering 38%
[0x7f579400d7d8] ts demux warning: invalid header [0xb1:58:93:d4] (pid: 3071)
[0x7f579c000b28] main input debug: Buffering 41%
[0x7f579400d7d8] ts demux warning: invalid header [0x12:60:47:8a] (pid: 3072)
[0x7f579c000b28] main input debug: Buffering 45%
[0x7f579c000b28] main input debug: Buffering 48%
[0x7f579c000b28] main input debug: Buffering 52%
[0x7f579c000b28] main input debug: Buffering 56%
[0x7f579400d7d8] ts demux warning: invalid header [0xa4:b2:42:9a] (pid: 3072)
[0x7f579c000b28] main input debug: Buffering 60%
[0x7f579c000b28] main input debug: Buffering 63%
[0x7f579400d7d8] ts demux warning: invalid header [0x43:4b:71:4e] (pid: 3071)
[0x7f579400d7d8] ts demux warning: invalid header [0xe7:b3:ef:4e] (pid: 3071)
[0x7f579400d7d8] ts demux warning: invalid header [0x73:7d:99:d2] (pid: 3071)
[0x7f579c000b28] main input debug: Buffering 67%
[0x7f579400d7d8] ts demux warning: invalid header [0x4e:bb:64:26] (pid: 3071)
[0x7f579c000b28] main input debug: ^CBuffering 71%
[0x1fc5108] main libvlc debug: deactivating the playlist
[0x208fc78] main playlist debug: deactivating the playlist
[0x7f579400d7d8] ts demux warning: invalid header [0x87:9b:0e:56] (pid: 3071)
[0x208fc78] main playlist debug: incoming request - stopping current input
[0x7f579400d7d8] ts demux warning: invalid header [0x48:5d:4d:26] (pid: 3071)
[0x7f5794002668] main access debug: waitpipe: object killed
[0x208fc78] main playlist debug: dying input
[0x208fc78] main playlist debug: dying input
[0x7f5794c0f308] main decoder debug: removing module "packetizer_mpegvideo"
[0x7f5794c0f308] main decoder debug: killing decoder fourcc `mpgv', 0 PES in FIFO
[0x7f5794ca0758] main decoder debug: removing module "mpeg_audio"
[0x7f5794ca0758] main decoder debug: killing decoder fourcc `mpga', 0 PES in FIFO
[0x7f579400d7d8] main demux debug: removing module "ts"
[0x7f579400d7d8] ts demux debug: pid list:
[0x7f579400d7d8] ts demux debug:   - pid[0] seen
[0x7f579400d7d8] ts demux debug:   - pid[1] seen
[0x7f579400d7d8] ts demux debug:   - pid[32] seen
[0x7f579400d7d8] ts demux debug:   - pid[107] seen
[0x7f579400d7d8] ts demux debug:   - pid[3071] seen
[0x7f579c000b28] main input debug: Program doesn't contain anymore ES
[0x7f579400d7d8] ts demux debug:   - pid[3072] seen
[0x7f579400d7d8] ts demux debug:   - pid[5920] seen
[0x7f579400d7d8] ts demux debug:   - pid[6176] seen
[0x7f579400d7d8] ts demux debug:   - pid[6688] seen
[0x7f579400d7d8] ts demux debug:   - pid[6944] seen
[0x7f579400d7d8] ts demux debug:   - pid[7968] seen
[0x7f579400d7d8] ts demux debug:   - pid[8191] seen
[0x7f57940037f8] main stream debug: removing module "stream_filter_record"
[0x7f5794002668] main access debug: removing module "access_http"
[0x208fc78] main playlist debug: dead input
[0x7f5794000ea8] main stream output debug: destroying useless sout
[0x7f5794001188] main stream out debug: destroying chain... (name=udp)
[0x7f5794001188] main stream out debug: removing module "stream_out_standard"
[0x7f57940056e8] main mux debug: removing module "mux_ts"
[0x7f5794003fc8] main access out debug: removing module "access_output_udp"
[0x7f5794001188] main stream out debug: destroying chain done
[0x7f579c000b28] main input debug: TIMER input launching for 'http://192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF' : 1741.026 ms - Total 1741.026 ms / 1 intvls (Avg 1741.026 ms)
[0x1ff4888] main playlist export debug: saving Medienbibliothek to file /home/acid/.local/share/vlc/ml.xspf
[0x1ff4888] main playlist export debug: looking for playlist export module: 1 candidate
[0x1ff4888] main playlist export debug: using playlist export module "export"
[0x1ff4888] main playlist export debug: TIMER module_need() : 1.380 ms - Total 1.380 ms / 1 intvls (Avg 1.380 ms)
[0x1ff4888] main playlist export debug: removing module "export"
[0x208fc78] main playlist debug: playlist correctly deactivated
[0x1fc5108] main libvlc debug: removing all services discovery tasks
[0x1fc5108] main libvlc debug: removing all interfaces
[0x1fc5108] main libvlc debug: exiting
[0x21fa868] main interface debug: removing module "dummy"
[0x1ff4448] main interface debug: removing module "hotkeys"
[0x208fc78] main playlist debug: destroying
[0x1fc5108] main libvlc debug: TIMER ML Load : Total 82.272 ms / 1 intvls (Avg 82.272 ms)
[0x1fc5108] main libvlc debug: TIMER Items array build : Total 1.536 ms / 2 intvls (Avg 0.768 ms)
[0x1fc5108] main libvlc debug: TIMER ML Dump : Total 4.500 ms / 1 intvls (Avg 4.500 ms)
[0x1fc5108] main libvlc debug: removing stats
[0x1fc5108] main libvlc debug: removing module "memcpymmxext"

as you can see, the the starting url is http://192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF, it set the tuner to tune to discovery, after the tuningrequest is done, it redirects to http://192.168.10.25:10001 where the stream is located

so i have tried two config configurations with tomcast, one with the tuning url and one with the direct one, here are the two logs:

obelix tomcast-1.20 # ./tomcast -c test.conf
tomcast 1.15
Copyright (C) 2010-2013 Unix Solutions Ltd.

Configuration:
    Server ident      : unixsol/tomcast
    Channels file     : test.conf
    Output iface addr : 0.0.0.0
    Multicast ttl     : 1
    Syslog disabled.
    Do not daemonize.
Aug 18 10:56:44 host unixsol-tomcast: INIT : tomcast 1.15 (unixsol/tomcast)
Aug 18 10:56:44 host unixsol-tomcast: CONF : 1 channels loaded
Aug 18 10:56:44 host unixsol-tomcast: CONN : Connected dst_fd: 3 | Chan: discovery Dest: udp://192.168.10.6:5000
Aug 18 10:56:44 host unixsol-tomcast: INFO : 1 proxy threads spawned
Aug 18 10:56:44 host unixsol-tomcast: NEW  : Chan: discovery Src: http://192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF Dst: udp://192.168.10.6:5000 SrcIP: 192.168.10.25 SrcFD: 4 DstFD: 3
Aug 18 10:57:00 host unixsol-tomcast: DEBUG: Server returned not valid HTTP code | srv_fd: 4
Aug 18 10:57:01 host unixsol-tomcast: DEBUG: reconnect srv_fd: 4 | Channel: discovery
Aug 18 10:57:01 host unixsol-tomcast: NEW  : Chan: discovery Src: http://192.168.10.25/stream/tunerequest00040000C0FFFFFF00B79800000400FF0085000E010102FF Dst: udp://192.168.10.6:5000 SrcIP: 192.168.10.25 SrcFD: 4 DstFD: 3
^CAug 18 10:57:02 host unixsol-tomcast: INFO : 1 proxy threads killed
Aug 18 10:57:03 host unixsol-tomcast: KILL : Signal 2 | tomcast 1.15 (unixsol/tomcast)

obelix tomcast-1.20 #
obelix tomcast-1.20 # ./tomcast -c test.conf
tomcast 1.15
Copyright (C) 2010-2013 Unix Solutions Ltd.

Configuration:
    Server ident      : unixsol/tomcast
    Channels file     : test.conf
    Output iface addr : 0.0.0.0
    Multicast ttl     : 1
    Syslog disabled.
    Do not daemonize.
Aug 18 10:49:46 host unixsol-tomcast: INIT : tomcast 1.15 (unixsol/tomcast)
Aug 18 10:49:46 host unixsol-tomcast: CONF : 1 channels loaded
Aug 18 10:49:46 host unixsol-tomcast: CONN : Connected dst_fd: 3 | Chan: discovery Dest: udp://192.168.10.6:5000
Aug 18 10:49:46 host unixsol-tomcast: INFO : 1 proxy threads spawned
Aug 18 10:49:46 host unixsol-tomcast: NEW  : Chan: discovery Src: http://192.168.10.25:10001 Dst: udp://192.168.10.6:5000 SrcIP: 192.168.10.25 SrcFD: 4 DstFD: 3
Aug 18 10:49:46 host unixsol-tomcast: SYNC : TS synced after 0 bytes | Channel: discovery
Aug 18 10:49:51 host unixsol-tomcast: PROXY: Error writing to dst_fd: 3 on srv_fd: 4 | Channel: discovery Source: http://192.168.10.25:10001
Aug 18 10:49:51 host unixsol-tomcast: CONN : Connected dst_fd: 3 | Chan: discovery Dest: udp://192.168.10.6:5000
Aug 18 10:49:51 host unixsol-tomcast: PROXY: Error writing to dst_fd: 3 on srv_fd: 4 | Channel: discovery Source: http://192.168.10.25:10001
Aug 18 10:49:51 host unixsol-tomcast: CONN : Connected dst_fd: 3 | Chan: discovery Dest: udp://192.168.10.6:5000
Aug 18 10:49:51 host unixsol-tomcast: PROXY: Error writing to dst_fd: 3 on srv_fd: 4 | Channel: discovery Source: http://192.168.10.25:10001
Aug 18 10:49:51 host unixsol-tomcast: CONN : Connected dst_fd: 3 | Chan: discovery Dest: udp://192.168.10.6:5000
Aug 18 10:49:51 host unixsol-tomcast: PROXY: Error writing to dst_fd: 3 on srv_fd: 4 | Channel: discovery Source: http://192.168.10.25:10001
Aug 18 10:49:51 host unixsol-tomcast: CONN : Connected dst_fd: 3 | Chan: discovery Dest: udp://192.168.10.6:5000
Aug 18 10:49:51 host unixsol-tomcast: PROXY: Error writing to dst_fd: 3 on srv_fd: 4 | Channel: discovery Source: http://192.168.10.25:10001
Aug 18 10:49:51 host unixsol-tomcast: CONN : Connected dst_fd: 3 | Chan: discovery Dest: udp://192.168.10.6:5000
Aug 18 10:49:51 host unixsol-tomcast: PROXY: Error writing to dst_fd: 3 on srv_fd: 4 | Channel: discovery Source: http://192.168.10.25:10001
Aug 18 10:49:51 host unixsol-tomcast: CONN : Connected dst_fd: 3 | Chan: discovery Dest: udp://192.168.10.6:5000
^CAug 18 10:49:51 host unixsol-tomcast: INFO : 1 proxy threads killed
Aug 18 10:49:51 host unixsol-tomcast: PROXY: Error writing to dst_fd: 3 on srv_fd: 4 | Channel: discovery Source: http://192.168.10.25:10001
Aug 18 10:49:51 host unixsol-tomcast: CONN : Connected dst_fd: 3 | Chan: discovery Dest: udp://192.168.10.6:5000
Aug 18 10:49:51 host unixsol-tomcast: DEBUG: quit srv_fd: 4 | Channel: discovery
Aug 18 10:49:51 host unixsol-tomcast: STOP : Chan: discovery Src: http://192.168.10.25:10001 Dst: udp://192.168.10.6:5000 SrcIP: 192.168.10.25 SrcFD: 4 DstFD: 3
Aug 18 10:49:51 host unixsol-tomcast: KILL : Signal 2 | tomcast 1.15 (unixsol/tomcast)

i don't know whats the exact problem, is there anything that i should provide you?

HTTPS Support

Hey,

Thank you for adding redirect support to tomcast.
You think its possible to add HTTPS support to the redirect without too much hassle?

We only use HTTPs to our "redirector", the 302 redirect (i.e. the actual data) is on HTTP

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.