Good day.
Everyone who is connected to IPTV has probably heard about such programs as
Astra (getstream),
tsplay ,
VLC , created for broadcasting to the network from various sources. They are alternative solutions for hardware platforms such as Harmonic, PBI, and others.
Let's see how Astra manifests itself.
')
And my favorite Bridgetech VB220 analyzer will be judged.

From file to multicast
tsplay
The fastest and easiest way to launch a movie is using tsplay, this is done with one simple command:
tsplay filename.ts 239.255.10.156:1234 -loop
The program does not eat system resources at all and shows good data on the analyzer:

The graph shows that it is jitter-stable, there are no TS packet losses (not counting the moment when the movie ends and starts again).
VLC
Starting from the console the broadcast via VLC is a bit harder than using tsplay, but still fit in one line:
vlc -v /content/filename.ts --sout '#standard{access=udp{ttl=15},mux=ts{tsid=22,pid-video=23,pid-audio=24,pid-pmt=25,use-key-frames},dst=[239.255.10.156:1234]}' --loop
On my machine, the process eats 1-3% of the processor (as if it also decodes) and shows such data on the analyzer:

As we can see from the graph, jitter jumps, but within the normal range, TS packet loss is absent, like in tsplay, but a longer break between the end and the beginning of the video.
Astra
To run Astra you will have to create a small configuration file on lua:
#!/usr/bin/astra require("base") make_stream({ name = "Stream 1", file = { filename = "/content/filename.ts", } }, { { name = "Movie", analyze = false, output = { "udp://239.255.10.156:1234", } }, })
And then run:
astra movie.lua
Or immediately:
./movie.lua
I do not notice the load on the system, I look at the analyzer:

Almost perfect jitter, however, there are TS-packet losses even in the middle of the video.
Conclusion
On the subscriber’s side, the difference between VLC, tsplay, Astra is not noticeable.
On the analyzer it is more pleasant to look at tsplay.
Like Astra lua-configs.
Easy to automate on bash'e tsplay.
VLC out of the box supports playlists and random broadcast from the list, which can be done on bash using tsplay or on lua for Astra.
My choice for broadcasting from files: tsplay .
From unicast / multicast (MPTS) to Multicast (SPTS)
From the satellite receiver Harmonic ProView 29xx we send MPTS stream over IP to the
Harmonic ProStream 1000 and
server with Astra .
Task: to get two multicast groups with SPTS streams.Harmonic ProStream 1000
The configuration of the tape drive is carried out through the web admin area, which cannot boast an intuitive and fast interface, but it is quite suitable. This moment we omit, I am a supporter of scripts and config files.
As a result, we get two perfect TS-streams, which is not surprising for equipment with a high price tag:


Astra
As I said above, I like the Astra configs. Everything looks beautiful and clear:
#!/usr/bin/astra require("base") make_stream({ name = "ProView IRD", demux = true, udp = { addr = "10.10.10.10", port = 2008 } }, { { name = "Hustler TV", analyze = false, pnr = 9, output = { "udp://233.120.65.222:1234", } }, { name = "Blue Hustler", analyze = false, pnr = 10, output = { "udp://233.120.65.223:1234", } }, })
Astra also makes us happy with good graphs on the analyzer:


Yes, the results are not perfect, but only 3 small failures were recorded in 90 minutes, which the real customer will never notice.
Conclusion
Astra has everything you need to work as an IP-streamer (backup, filtering, changing PID tracks).
If you do not have professional certified equipment, funds, or the main streamer has failed, then Astra will be the salvation for you.
VLC is not considered in this test due to the complexity of the settings, the low quality of the generated threads and the high CPU consumption.
Multicast (SPTS) to Multicast (SPTS)
Astra and Harmonic ProStream show excellent streams.
Unfortunately, Astra does not know how to generate streams with a constant bit rate (CBR), which is useful in some cases.
DVB-S / S2 at Multicast
It is very interesting for me to compare the work of Astra with such receivers-harvesters like the Harmonic ProView 7000 or PBI DHC-4000P, but, unfortunately, I do not have a DVB-S2 PCI-E board.
About HTTP
Our analyzer does not support the HTTP protocol, so it’s impossible to analyze the work of Astra or VLC in this direction. Feeling they both do an excellent job with this task. Just who needs to broadcast in HTTP? It would be great to be able to backup DVB / UDP sources from HTTP streams from the Internet, but so far no software (and hardware) can handle this task without crutches. Correct me if I'm wrong.
General conclusion
Astra is an interesting alternative to expensive equipment, I will definitely follow the development, but as long as we are not ready to take the risk of entrusting it with the generation of all streams, we’ll leave it alone for tests and in case of a backup tape drive failure.
Tell us about your experience with Astra and other DVB / IPTV software solutions.
UPDATE: and_cesbo in the comments reported that in the new version the broadcast from the file has been revised.
Screenshot from the analyzer:

It became really good. Crashes on the graph due to rewind to the beginning of the file.