I have two UDP multicast network inputs from two different sources, the first is a hardware encoder(AJA HELO) the other is from a server(ffmpeg). The encoder has an SDI input, while the ffmpeg server has a different UDP stream as the input. My issue is that on one Elemental encoder I can pickup both streams without issue, however on the other Elemental encoder, only one of the streams works. All encoding settings that I can see are the same, and both profiles on each encoder is setup the same and when I check the streams with ffprobe they seem almost identical. Both streams play without any issues in ffplay and VLC. I also ran them through the TS Analyzer(http://www.coexsi.fr/publications/mpegts-analyzer/) software to check the MPEG-TS configs, the only difference I can see is that the working stream has a PID 45 that lists as an unknown type, but then shows up as a PCR PID in TS analyzer. While the non-working video is only showing PCR on the video PID. The encoder that is working is on an older firmware, (2.12.5.304490) vs. (2.13.6.307349).
I can provide any additional info that would be helpful.
UDP STREAM 1 - from hw encoder (working)
Input #0, mpegts, from 'udp://239.255.10.41:11111':
Duration: N/A, start: 44325.081644, bitrate: N/A
Program 1
Stream #0:0[0x18]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x16]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 196 kb/s
0x0000 - 0 PSI Program Association Table (PAT)
0x0016 - 22 PES Stream ID=0xC0 (Audio stream number #0)
0x0018 - 24 PES Stream ID=0xE0 (Video stream number #0)
0x002D - 45 Unknown Unknown
0x002E - 46 PSI Program Map Table (PMT)
First PAT found with version 0
- transport_stream_id = 1234
- section_number = 0
- last_section_number = 0
- section_length = 13
- associations = 1
o program_number=1 for program_map_PID=46
New PMT PID=46 found with version 0
- program_number = 1
- section_number = 0
- last_section_number = 0
- section_length = 23
- PCR_PID = 45
general:
id: '0'
stream_uri: udp://239.255.10.41:11111
program: '1'
programs:
'1':
video_streams:
- stream_id: '24'
codec: H264
width: '1920'
height: '1080'
framerate: '29.970'
SAR: '1:1'
bitrate: 4 Mbit
audio_streams:
- stream_id: '22'
codec: AAC
channels: '2'
sample_format: '1'
sample_rate: '48000'
HELO settings:
1920x1080p 29.97fps H.264 @ 5.00Mbps, 120 GOP, MP, CAVLC, 192K audio, P Interval 1, H.264 Encoding Profile Main, Slices Per Frame 1, Entropy Coding CABAC, Stream Type RTP / UDP-TS.
UDP STREAM 2 - from ffmpeg (not working)
Input #0, mpegts, from 'udp://239.255.10.199:1234':
Duration: N/A, start: 300.697000, bitrate: N/A
Program 1
Stream #0:0[0x18]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x16]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 196 kb/s
0x0000 - 0 PSI Program Association Table (PAT)
0x0011 - 17 DVB Service Description Table (SDT)
0x0016 - 22 PES Stream ID=0xC0 (Audio stream number #0)
0x0018 - 24 PES Stream ID=0xE0 (Video stream number #0)
0x002E - 46 PSI Program Map Table (PMT)
First PAT found with version 0
- transport_stream_id = 1
- section_number = 0
- last_section_number = 0
- section_length = 13
- associations = 1
o program_number=1 for program_map_PID=46
New PMT PID=46 found with version 0
- program_number = 1
- section_number = 0
- last_section_number = 0
- section_length = 23
- PCR_PID = 24
general:
id: '0'
stream_uri: udp://239.255.10.199:1234
program: '1'
programs:
'1':
video_streams:
- stream_id: '24'
codec: H264
width: '1920'
height: '1080'
framerate: '29.970'
SAR: '1:1'
audio_streams:
- stream_id: '22'
service_name: Service01
codec: AAC
channels: '2'
sample_format: '1'
sample_rate: '48000'
cmd:
ffmpeg -re -thread_queue_size 1024 -i udp://@239.255.10.47:11111 -streamid 0:0x18 -c:v libx264 -profile:v main -g 120 -vf drawtext=fontfile=/Windows/Fonts/arial.ttf:"text='LATENCY TESTING %{localtime:%X}':rate=30:x=(w-tw)/2:y=(h-lh)/2:fontsize=72:fontcolor=white:box=1:boxcolor=black" -streamid 1:0x16 -c:a copy -f mpegts -mpegts_transport_stream_id 0x04D2 -mpegts_pmt_start_pid 0x002E -flush_packets 0 -mpegts_flags +resend_headers+pat_pmt_at_frames udp://239.255.10.199:1234?pkt_size=1316
Elemental Live (2.12.5.304490)
OS: CentOS release 6.8 (Final)
Security Patch: 2
Serial Number: S10176424500451
Processor: 2x Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz
Memory: 15.54 gB
GPU: 2x Tesla K10.G2.8GB, 2x Tesla K10.G1.8GB
- NON-WORKING ELEMENTAL ENCS:
Elemental Conductor Live (3.6.3.500559)
OS: CentOS release 6.9 (Final)
Security Patch: 2
Serial Number: S6F16T6P3602120
Processor: 2x Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
Memory: 5.70 gB
Elemental Live (2.13.6.307349)
OS: CentOS release 6.9 (Final)
Security Patch: 2
Serial Number: Unknown
Processor: 2x Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz
Memory: 15.55 gB
GPU: 2x Tesla K10.G2.8GB, 2x Tesla K10.G1.8GB
Wow, thank you so much, I feel stupid now, but that was absolutely the issue...