marakew / avproxy Goto Github PK
View Code? Open in Web Editor NEWIPTV transmux proxy for HTTP(S)/HLS(S)(AES128)/UDP/RTP/RTSP + VOD, MPTS/T2MI(PLP) demux
Home Page: https://gitlab.com/marakew/AvProxy
IPTV transmux proxy for HTTP(S)/HLS(S)(AES128)/UDP/RTP/RTSP + VOD, MPTS/T2MI(PLP) demux
Home Page: https://gitlab.com/marakew/AvProxy
ApplePreroll=N is not working properly for me
I specified ApplePreroll=10 in AvProxy.xml and there are still only 3 segments in the output playlist
Example of AvProxy.xml:
I have config like this:
<?xml version="1.0"?>
<AvProxy Ver="1">
<Input Url="udp://239.40.1.1:3000?IFace=172.17.1.1">
<Output Name="Test" Pnr=10>
<TsPush Url="udp://238.1.1.1:5000?IFace=172.17.1.1"/>
</Output>
</Input>
</AvProxy>
Input is a MPTS and I wish to filter only Pnr 10 on output on multicast 238.1.1.1:5000 but over specific interface. While it receives the multicast on correct defined IFace it doesn't use th IFace parameter on output. It this even and option?
Hi,
I am trying to use HLS input and publish this to UDP, but does not work.
<?xml version="1.0"?>
<AvProxy Ver="1">
<Input Url="m3u8://transcoder.xxx.stream/euronews-en/video.m3u8">
<Output Name="udp1">
<TsPush Url="udp://239.0.0.1:8888"/>
</Output>
</Input>
</AvProxy>
Does anyone have an idea what I am doing wrong?
thanks
./AvProxy-x64 -HttpPort 80
binds to an ephemeral port, not 80:
$ sudo ss -lpnt | grep AvProxy
LISTEN 0 5 0.0.0.0:38681 0.0.0.0:* users:(("AvProxy-x64",pid=11878,fd=7))
Hello!
When are you planning on implementing "input ondemand"?
I am a "home" user and alas, I do not have the opportunity to constantly receive all the streams ...
I have an MPTS that I would like to output as HLS, but AvProxy seems to only use the first program.
ffprobe udp://234.7.8.9:2000?localaddr=192.168.2.62
Input #0, mpegts, from 'udp://234.7.8.9:2000?localaddr=192.168.2.62':
Duration: N/A, start: 37632.403911, bitrate: N/A
Program 3
Stream #0:0[0x31]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, progressive), 1280x720 [SAR 1:1 DAR 16:9], Closed Captions, 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc
Stream #0:1[0x34](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
Stream #0:2[0x35](spa): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
Program 4
Stream #0:4[0x41]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 720x480 [SAR 1:1 DAR 3:2], Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:8[0x44](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
Program 5
Stream #0:3[0x51]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 720x480 [SAR 32:27 DAR 16:9], Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:7[0x54](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
Program 6
Stream #0:5[0x61]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 720x480 [SAR 32:27 DAR 16:9], Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:6[0x64](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
cat AvProxy.xml
<?xml version="1.0"?>
<AvProxy Ver="1">
<Input Url="udp://234.7.8.9:2000?IFace=192.168.2.62">
<Output ApplePreroll=10 Name="http3"/>
</Input>
</AvProxy>
./AvProxy-x64 -Trace
[AvProxy] Build=[Mar 1 2023 01:29:34 (host_x64.r1)]
[Main] Build=[Mar 1 2023 02:10:30 (host_x64.r1)]
[BaseLib] Build=[Mar 1 2023 02:10:30 (host_x64.r1)]
[Arg 0-0] [./AvProxy-x64]
[Arg 1-1] [-Trace]
[NetLib] Host=zino
[NetLib] IFace=lo Ip=[127.0.0.1]
[NetLib] IFace=enp3s0f0 Ip=[192.168.0.140]
[NetLib] IFace=enp3s0f1 Ip=[192.168.2.62]
[NetLib] IFace=enp3s0f1 Mac=[00:1B:21:39:15:8A]
[NetLib] IFace=lo Mac=[00:00:00:00:00:00]
[NetLib] IFace=enp3s0f0 Mac=[00:1B:21:39:15:8B]
[HttpServer] Build=[Mar 1 2023 01:32:00 (host_x64.r1)]
[HttpServer] [Open] Tcp=41953
[AvProxy] Url is invalid, use local configuration file [AvProxy.xml]
[TaskThread] [11875] Began operating
[AvProxy] Synchronization XML [0 -> 1]
[AvProxy] Open Input=[udp://234.7.8.9:2000?IFace=192.168.2.62]
IFace: addr 192.168.2.62
Update Output...
Open Output=http3
Output: Name http3, Desc http3, Pnr -1, Apple(AES128 0, Reserve 1, Preroll 10)
[Pat] Ver=00 Key=96F3DBCE Nit=0000(0)
Program=0030(48) Index=3
Program=0040(64) Index=4
Program=0050(80) Index=5
Program=0060(96) Index=6
[Pmt] Pid=0030(48) Ver=14 Key=158BB3DA Pcr=0031(49)
Tag=05 Data=4 (47 41 39 34 ) REGD=GA94
Stream=0031(49) Type=Video Codec=MP2V Tag=02(MPEG-2 Video)
Tag=11 Data=1 (FF )
Tag=10 Data=6 (C0 BD 62 C0 08 00 )
Tag=06 Data=1 (02 )
Tag=86 Data=7 (E1 65 6E 67 C1 3F FF )
Stream=0034(52) Type=Audio Codec=AC3 Tag=81(AC3)
Tag=05 Data=4 (41 43 2D 33 ) REGD=AC-3
Tag=81 Data=10 (08 3A 0F FF 0F 01 BF 65 6E 67 )
Tag=0A Data=4 (65 6E 67 00 ) LANG=eng
Stream=0035(53) Type=Audio Codec=AC3 Tag=81(AC3)
Tag=05 Data=4 (41 43 2D 33 ) REGD=AC-3
Tag=81 Data=10 (08 28 45 FF 00 01 BF 73 70 61 )
Tag=0A Data=4 (73 70 61 00 ) LANG=spa
ffprobe http://192.168.2.62:34423/live/http3/index.m3u8
Input #0, hls, from 'http://192.168.2.62:38681/live/http3/index.m3u8':
Duration: N/A, start: 36659.166578, bitrate: N/A
Program 0
Metadata:
variant_bitrate : 0
Stream #0:0: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv), 1280x720 [SAR 1:1 DAR 16:9], Closed Captions, 59.94 fps, 59.94 tbr, 90k tbn
Metadata:
variant_bitrate : 0
Side data:
cpb: bitrate max/min/avg: 12870000/0/0 buffer size: 9764864 vbv_delay: N/A
Stream #0:1: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
Metadata:
variant_bitrate : 0
Stream #0:2: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
Metadata:
variant_bitrate : 0
If I probe the ts files emitted, the PMT has the PRG in it but no data.
Input #0, mpegts, from 'F81FC810466F4379314B10A977B0AC93.ts':
Duration: 00:00:06.01, start: 37026.846578, bitrate: 11242 kb/s
Program 3
Stream #0:0[0x31]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, progressive), 1280x720 [SAR 1:1 DAR 16:9], Closed Captions, 59.94 fps, 59.94 tbr, 90k tbn
Side data:
cpb: bitrate max/min/avg: 12870000/0/0 buffer size: 9764864 vbv_delay: N/A
Stream #0:1[0x34](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
Stream #0:2[0x35](spa): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
Program 4
Program 5
Program 6
I know it might be non-standard to have MPTS in hls, but I see it more often in low-budget broadcast distribution systems and trying to re-create. Just would like to keep all input as is in the output.
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.