Project

General

Profile

Feature #197

Output multicast MPEG TS over UDP with or without SAP announcements

Added by Simon Liddicott - over 10 years ago. Updated about 1 year ago.

Status:
Need feedback
Priority:
High
Category:
IPTV
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

tvheadend is officially brilliant and this one feature would make my day. Does it even exist already? If so I can't find how to do it in the admin.

So in summary please can TV headend output UDP multicast MPEG streams in the same way as in dvbyell, mumudvb, getstream and vlc?

Thanks.

History

#1

Updated by Simon Liddicott - over 10 years ago

By way of operation I imagine extra fields on the channel configuration that allow you to specify outgoing IP address and TTL.

#2

Updated by Andreas Smas almost 10 years ago

  • Category changed from General to IPTV
#3

Updated by Adam Sutton about 8 years ago

  • Status changed from New to Rejected

I really don't think this is likely to happen. So I'm going to close it.

#4

Updated by Simon Liddicott - about 8 years ago

:( Pity

#5

Updated by Adam Sutton about 8 years ago

  • Status changed from Rejected to Need feedback
  • Assignee changed from Andreas Smas to John Törnblom

Simon,

My role in this issue is merely that I'm trying to cut away a lot of dead wood from the issue list as we try and rejuvenate things, so I'm being pretty ruthless with closing old issues. However if people actually take the time to reply, I'm willing to do a bit more investigation/prodding of others :)

I can't promise anything, as I still don't think it sits with the TVH plans, but I will ask the other devs.

John,

I've pass this to you, not sure whether it lives in Andreas' area or yours. But I thought you might take a look when your free.

Adam

#6

Updated by saen acro almost 7 years ago

it will be good option for multicast hotel solution

#7

Updated by Alex Revetchi almost 6 years ago

Hi,

I have prototyped a working version of multicast, the source is located on a branch in a forked repository https://github.com/zakalibit/tvheadend/tree/master-multicast
In a nutshell is the same service streaming with a replaced tcp socket handle with a connected upd socket (a proper impl might need more work).

So the actual http request is just a udp multicast starter, a sample request would look like:

http://tvheadend:9981/stream/mcast/&lt;service uuid>?address=<udp multicast address>&port=<multicast port>

Where uuid is the value you can get from the Play link in the services tab

On the web interface in the status tab connections, you'll get a connection with Type: UDP-MULTICAST, User name: <udp multicast address>:<multicast port>

in the support folder I have added a python script mcastctl, that can be used to start and stop multicasts:

Start a multicast using service id (the actual channel sid, no need to know the uuid):
./mcastctl --sid 6201 --mip 239.0.0.1 --mport 1234

If web interface running on a different port, for example 8081:
./mcastctl --port 8081 --sid 6201 --mip 239.0.0.1 --mport 1234

And different host then localhost:
./mcastctl --host tvheadend-host --port 8081 --sid 6201 --mip 239.0.0.1 --mport 1234

To stop all multicasts:
./mcastctl killall

#8

Updated by Phlegx Systems about 4 years ago

Hi Alex! Thank you for the multicast fork. Why Tvheadend don't include this fork? UDP is one of the best solutions for many connected users.

#9

Updated by Mono Polimorph almost 4 years ago

Hi,

This is similar to the request: http://www.tvheadend.org/boards/5/topics/15470

I suggest to add support for UDP unicast/multicast. However, I suggest to not use an external tool to start the streaming, but include an internal configuration of the services to stream. Also, I suggest to work at level of services and muxes, because can be very useful to stream an entire mux.

Plase!

#10

Updated by hencha satellite almost 4 years ago

Alex Revetchi wrote:

Hi,

I have prototyped a working version of multicast, the source is located on a branch in a forked repository https://github.com/zakalibit/tvheadend/tree/master-multicast
In a nutshell is the same service streaming with a replaced tcp socket handle with a connected upd socket (a proper impl might need more work).

So the actual http request is just a udp multicast starter, a sample request would look like:

http://tvheadend:9981/stream/mcast/&lt;service uuid>?address=<udp multicast address>&port=<multicast port>

Where uuid is the value you can get from the Play link in the services tab

On the web interface in the status tab connections, you'll get a connection with Type: UDP-MULTICAST, User name: <udp multicast address>:<multicast port>

in the support folder I have added a python script mcastctl, that can be used to start and stop multicasts:

Start a multicast using service id (the actual channel sid, no need to know the uuid):
./mcastctl --sid 6201 --mip 239.0.0.1 --mport 1234

If web interface running on a different port, for example 8081:
./mcastctl --port 8081 --sid 6201 --mip 239.0.0.1 --mport 1234

And different host then localhost:
./mcastctl --host tvheadend-host --port 8081 --sid 6201 --mip 239.0.0.1 --mport 1234

To stop all multicasts:
./mcastctl killall

can give more information about mcastctl buddy ?

#11

Updated by Mono Polimorph almost 4 years ago

Hi,

This STATIC STREAMING is a great functionality, a must have!
I see this on the DD Octopus NET: you can load a table of "static multicast streams" and you can use the device as a Streamer (instead of a SAT>IP server).

See here some screenshots:

The section is "Multicast Setup". On this section you can load and show the configured streams.
See more at: http://manuals.digitaldevices.de/onet_all

You can see one example of the "mcsetup.cvs" file including a full description here:

It's quite simple: one SAT>IP URI request and the corresponding stream output.

I suggest to support this!
You agree?

#12

Updated by saen acro almost 4 years ago

Feature is good but this feature will be bad for the best option "tuner on demand".
There must be a option to select "on demand" or "multicast" operation in TVH

+1 from me

with this option and http://tvheadend.org/issues/3992
will make complete solution back-end + mid-ware

#13

Updated by Mono Polimorph almost 4 years ago

saen acro wrote:

Feature is good but this feature will be bad for the best option "tuner on demand".
There must be a option to select "on demand" or "multicast" operation in TVH

This is complementary to "tuner on demand". But, if you like to use one tuner for continous streaming, this option enables it. At time, only "on demand" is available.

In any case, if you have multiple inputs (different tuners and IPTV/multicast/HTTP/...) you can mix "on demand" with "continous" streaming... the only requirement is leave sufficient free tuners (=one shot tunning).

I hope this will be implemented soon! ;)

#14

Updated by Mono Polimorph over 3 years ago

Alex Revetchi wrote:

I have prototyped a working version of multicast, the source is located on a branch in a forked repository https://github.com/zakalibit/tvheadend/tree/master-multicast

Hi Jaroslav,

Can you consider to incorporate this patch in the next 4.4 version?

At time, the multicast output is a very valuable missing feature in tvh.
I hope you can consider it, at minimum for a simple "static" (=non dynamic) streaming.

Regards.

#15

Updated by matias segurola over 2 years ago

Mono Polimorph wrote:

Alex Revetchi wrote:

I have prototyped a working version of multicast, the source is located on a branch in a forked repository https://github.com/zakalibit/tvheadend/tree/master-multicast

Hi Jaroslav,

Can you consider to incorporate this patch in the next 4.4 version?

At time, the multicast output is a very valuable missing feature in tvh.
I hope you can consider it, at minimum for a simple "static" (=non dynamic) streaming.

Regards.

:) :) :) :) :) ojala y si sea posible

#16

Updated by Mono Polimorph over 2 years ago

matias segurola wrote:

:) :) :) :) :) ojala y si sea posible

The problem with this patch is that it's quite old. Difficult at time to merge it. :(
So, still waiting for static multicast output.

#17

Updated by Arindom Sil almost 2 years ago

Alex Revetchi wrote:

Hi,

I have prototyped a working version of multicast, the source is located on a branch in a forked repository https://github.com/zakalibit/tvheadend/tree/master-multicast
In a nutshell is the same service streaming with a replaced tcp socket handle with a connected upd socket (a proper impl might need more work).

So the actual http request is just a udp multicast starter, a sample request would look like:

http://tvheadend:9981/stream/mcast/&lt;service uuid>?address=<udp multicast address>&port=<multicast port>

Where uuid is the value you can get from the Play link in the services tab

On the web interface in the status tab connections, you'll get a connection with Type: UDP-MULTICAST, User name: <udp multicast address>:<multicast port>

in the support folder I have added a python script mcastctl, that can be used to start and stop multicasts:

Start a multicast using service id (the actual channel sid, no need to know the uuid):
./mcastctl --sid 6201 --mip 239.0.0.1 --mport 1234

If web interface running on a different port, for example 8081:
./mcastctl --port 8081 --sid 6201 --mip 239.0.0.1 --mport 1234

And different host then localhost:
./mcastctl --host tvheadend-host --port 8081 --sid 6201 --mip 239.0.0.1 --mport 1234

To stop all multicasts:
./mcastctl killall

Sir,
I am telling step wise what I have done...
1. I have issued a command git clone https://github.com/zakalibit/tvheadend/tree/master-multicast and press enter.
results: I have got the files in tvheadend folder at /home/Arry/.
2. I have issues ./configure and press enter.
results: I have gotten the following.....
Checking support/features
checking for cc execinfo.h ... ok
checking for cc -mmmx ... ok
checking for cc -msse2 ... ok
checking for cc getloadavg ... ok
checking for cc atomic64 ... ok
checking for cc lockowner ... ok
checking for cc qsort_r ... ok
checking for cc recvmmsg ... ok
checking for cc sendmmsg ... ok
checking for cc libiconv ... fail
checking for py module gzip ... ok
checking for bzip2 ... ok
checking for pkg openssl ... fail (detected <none>)
checking for pkg libssl ... fail (detected <none>)
checking for cc openssl/ssl.h ... fail
ERROR: SSL development support not found

Please tell me where I am doing wrong?
I have TVheadend working for http streaming and it is working well with TBS6522 card

#18

Updated by Arindom Sil almost 2 years ago

SIr,
./configure is done .
I havecommented for ssl and -libiconv and go through.
but make gives the following error...
make
CC src/uuid.o
CC src/main.o
src/main.c:78:25: fatal error: openssl/ssl.h: No such file or directory
compilation terminated.
Makefile:422: recipe for target '/home/iptv/tvheadend/build.linux/src/main.o' failed
make: *** [/home/iptv/tvheadend/build.linux/src/main.o] Error 1

#19

Updated by Alex Revetchi almost 2 years ago

Arindom Sil wrote:

SIr,
./configure is done .
I havecommented for ssl and -libiconv and go through.
but make gives the following error...
make
CC src/uuid.o
CC src/main.o
src/main.c:78:25: fatal error: openssl/ssl.h: No such file or directory
compilation terminated.
Makefile:422: recipe for target '/home/iptv/tvheadend/build.linux/src/main.o' failed
make: *** [/home/iptv/tvheadend/build.linux/src/main.o] Error 1

sudo apt-get install libssl-dev
#20

Updated by Arindom Sil almost 2 years ago

Alex Revetchi wrote:

Hi,

I have prototyped a working version of multicast, the source is located on a branch in a forked repository https://github.com/zakalibit/tvheadend/tree/master-multicast
In a nutshell is the same service streaming with a replaced tcp socket handle with a connected upd socket (a proper impl might need more work).

So the actual http request is just a udp multicast starter, a sample request would look like:

http://tvheadend:9981/stream/mcast/&lt;service uuid>?address=<udp multicast address>&port=<multicast port>

Where uuid is the value you can get from the Play link in the services tab

On the web interface in the status tab connections, you'll get a connection with Type: UDP-MULTICAST, User name: <udp multicast address>:<multicast port>

in the support folder I have added a python script mcastctl, that can be used to start and stop multicasts:

Start a multicast using service id (the actual channel sid, no need to know the uuid):
./mcastctl --sid 6201 --mip 239.0.0.1 --mport 1234

If web interface running on a different port, for example 8081:
./mcastctl --port 8081 --sid 6201 --mip 239.0.0.1 --mport 1234

And different host then localhost:
./mcastctl --host tvheadend-host --port 8081 --sid 6201 --mip 239.0.0.1 --mport 1234

To stop all multicasts:
./mcastctl killall

Sir..
I have successfully installed the fresh ubuntu install 16.04.5 lts.
Kindly allow me to know next what to do as per your guide line?
You have provided a fork repo. I have clicked that link and see there is a button copy or download.
How should I proceed via git clone???? via terminal.
I think I am not getting the proper syntax.

Kindly help on that....
It seems that your repo has tvheadend ver.3.9 with multicasting feature.

Kindly help sir.

#21

Updated by Arindom Sil almost 2 years ago

Alex Revetchi wrote:

Hi,

I have prototyped a working version of multicast, the source is located on a branch in a forked repository https://github.com/zakalibit/tvheadend/tree/master-multicast
In a nutshell is the same service streaming with a replaced tcp socket handle with a connected upd socket (a proper impl might need more work).

So the actual http request is just a udp multicast starter, a sample request would look like:

http://tvheadend:9981/stream/mcast/&lt;service uuid>?address=<udp multicast address>&port=<multicast port>

Where uuid is the value you can get from the Play link in the services tab

On the web interface in the status tab connections, you'll get a connection with Type: UDP-MULTICAST, User name: <udp multicast address>:<multicast port>

in the support folder I have added a python script mcastctl, that can be used to start and stop multicasts:

Start a multicast using service id (the actual channel sid, no need to know the uuid):
./mcastctl --sid 6201 --mip 239.0.0.1 --mport 1234

If web interface running on a different port, for example 8081:
./mcastctl --port 8081 --sid 6201 --mip 239.0.0.1 --mport 1234

And different host then localhost:
./mcastctl --host tvheadend-host --port 8081 --sid 6201 --mip 239.0.0.1 --mport 1234

To stop all multicasts:
./mcastctl killall

Sir..
I have successfully installed the fresh ubuntu install 16.04.5 lts.
Kindly allow me to know next what to do as per your guide line?
You have provided a fork repo. I have clicked that link and see there is a button copy or download.
How should I proceed via git clone???? via terminal.
I think I am not getting the proper syntax.

Kindly help on that....
It seems that your repo has tvheadend ver.3.9 with multicasting feature.

Kindly help sir.

Sir,
I have successfully run the setup and at chrome I am able to get the login page ...
but how to login for 1st time....I do not be prompted during setup for username and password

Please help sir

#22

Updated by Arindom Sil almost 2 years ago

Arindom Sil wrote:

Alex Revetchi wrote:

Hi,

I have prototyped a working version of multicast, the source is located on a branch in a forked repository https://github.com/zakalibit/tvheadend/tree/master-multicast
In a nutshell is the same service streaming with a replaced tcp socket handle with a connected upd socket (a proper impl might need more work).

So the actual http request is just a udp multicast starter, a sample request would look like:

http://tvheadend:9981/stream/mcast/&lt;service uuid>?address=<udp multicast address>&port=<multicast port>

Where uuid is the value you can get from the Play link in the services tab

On the web interface in the status tab connections, you'll get a connection with Type: UDP-MULTICAST, User name: <udp multicast address>:<multicast port>

in the support folder I have added a python script mcastctl, that can be used to start and stop multicasts:

Start a multicast using service id (the actual channel sid, no need to know the uuid):
./mcastctl --sid 6201 --mip 239.0.0.1 --mport 1234

If web interface running on a different port, for example 8081:
./mcastctl --port 8081 --sid 6201 --mip 239.0.0.1 --mport 1234

And different host then localhost:
./mcastctl --host tvheadend-host --port 8081 --sid 6201 --mip 239.0.0.1 --mport 1234

To stop all multicasts:
./mcastctl killall

Sir..
I have successfully installed the fresh ubuntu install 16.04.5 lts.
Kindly allow me to know next what to do as per your guide line?
You have provided a fork repo. I have clicked that link and see there is a button copy or download.
How should I proceed via git clone???? via terminal.
I think I am not getting the proper syntax.

Kindly help on that....
It seems that your repo has tvheadend ver.3.9 with multicasting feature.

Kindly help sir.

Sir,
I have successfully run the setup and at chrome I am able to get the login page ...
but how to login for 1st time....I do not be prompted during setup for username and password

Please help sir

Sir,
HTTP Streaming started.

Now we are stuked really....
How to multicast now?

Please provide the steps as per your guideline..
I am novice so the problem but really want to learn

#23

Updated by Arindom Sil almost 2 years ago

Arindom Sil wrote:

Arindom Sil wrote:

Alex Revetchi wrote:

Hi,

I have prototyped a working version of multicast, the source is located on a branch in a forked repository https://github.com/zakalibit/tvheadend/tree/master-multicast
In a nutshell is the same service streaming with a replaced tcp socket handle with a connected upd socket (a proper impl might need more work).

So the actual http request is just a udp multicast starter, a sample request would look like:

http://tvheadend:9981/stream/mcast/&lt;service uuid>?address=<udp multicast address>&port=<multicast port>

Where uuid is the value you can get from the Play link in the services tab

On the web interface in the status tab connections, you'll get a connection with Type: UDP-MULTICAST, User name: <udp multicast address>:<multicast port>

in the support folder I have added a python script mcastctl, that can be used to start and stop multicasts:

Start a multicast using service id (the actual channel sid, no need to know the uuid):
./mcastctl --sid 6201 --mip 239.0.0.1 --mport 1234

If web interface running on a different port, for example 8081:
./mcastctl --port 8081 --sid 6201 --mip 239.0.0.1 --mport 1234

And different host then localhost:
./mcastctl --host tvheadend-host --port 8081 --sid 6201 --mip 239.0.0.1 --mport 1234

To stop all multicasts:
./mcastctl killall

Sir..
I have successfully installed the fresh ubuntu install 16.04.5 lts.
Kindly allow me to know next what to do as per your guide line?
You have provided a fork repo. I have clicked that link and see there is a button copy or download.
How should I proceed via git clone???? via terminal.
I think I am not getting the proper syntax.

Kindly help on that....
It seems that your repo has tvheadend ver.3.9 with multicasting feature.

Kindly help sir.

Sir,
I have successfully run the setup and at chrome I am able to get the login page ...
but how to login for 1st time....I do not be prompted during setup for username and password

Please help sir

Sir,
HTTP Streaming started.

Now we are stuked really....
How to multicast now?

Please provide the steps as per your guideline..
I am novice so the problem but really want to learn

Sir,

after starting the tvheadend stops
I get this mesege at terminal..

Segmentation fault (core dumped)

#24

Updated by Luis Alves about 1 year ago

Did anyone ever sent a PR for this?

Arindom Sil,
If you need help with something use the forum, don't spam on the issue tracker...
(can someone clean it up?)

Also available in: Atom PDF