Hallo miteinander,
passt zwar eigentlich nicht direkt zum Topic, weil ich hier in diesem Thread aber schon öfter zu dem Thema geschrieben habe, ergänze ich es hier.
Ich habe noch ein Problem in meinen ffmpeg Anpassungen für das RDS der AAC Radioprogramme der ARD Anstalten RBB, MDR und BR gefunden und behoben. Diese Sendeanstalten ziehen die RDS UECP Nachrichten auseinander und verteilen diese auf mehrere AAC Frames - Der MDR schiebt auch gerne mal ein einsames "0xff" in einem AAC Frame herüber. Das wurde bisher von mir nicht richtig verarbeitet. Mein Code zieht die RDS Nachrichtenfragmente jetzt bei Bedarf zusammen und gibt auch mal mehrere, aber immer vollständige Blöcke heraus (die mit 0xfe beginnen und mit 0xff enden). Der NDR implementiert das anders und war von diesem Problem nicht betroffen.
Wer direkt probieren möchte braucht
https://github.com/carsten-gross/FFmpeg,
https://github.com/carsten-gross/ts2shout und muß aktuell (noch) etwas manuelle Arbeit ins compilieren stecken (Einige Dateien von ffmpeg manuell zu ts2shout kopieren, USE_FFMPEG im Makefile von ts2shout aktivieren).
So wie unten gezeigt es jetzt z.B. für MDR Sputnik aus (Das RDS wird so natürlich auch im erzeugten Shoutcast übertragen und damit im Display des Radios dargestellt).
Für die ARD Programme mit extra-RDS-PID wird das AAC nicht mehr dekodiert (SWR, WDR usw.) was etwas CPU Zeit spart.
Code: Alles auswählen
[Mon Oct 18 23:12:02.236781 2021] [ts2shout:info] [pid 18047] init_structures(): Subscribing to MPEG-TS PID 0, 17, 18 (CHANNEL_TYPE_PAT, CHANNEL_TYPE_SDT, CHANNEL_TYPE_EIT)
[Mon Oct 18 23:12:02.236825 2021] [ts2shout:info] [pid 18047] ts2shout version v0.99-1-geeef2ec compiled 18.10.2021 18:16 started
[Mon Oct 18 23:12:02.236831 2021] [ts2shout:info] [pid 18047] MPEG streaming with shoutcast StreamTitles in CGI mode with RDS support.
[Mon Oct 18 23:12:02.237616 2021] [ts2shout:info] [pid 18047] fetch_cached_parameters(): found parameters for programme MDR SPUTNIK
[Mon Oct 18 23:12:02.355206 2021] [ts2shout:info] [pid 18047] add_channel(): Subscribing to MPEG-TS PID 850 (Type CHANNEL_TYPE_PMT)
[Mon Oct 18 23:12:02.355261 2021] [ts2shout:info] [pid 18047] extract_pat_payload(): Added 1 possible PMT id(s) with transport_stream_id: 1061.
[Mon Oct 18 23:12:02.634921 2021] [ts2shout:info] [pid 18047] add_payload_from_pmt(): Audio `AAC profile, Level 2'
[Mon Oct 18 23:12:02.635009 2021] [ts2shout:info] [pid 18047] add_payload_from_pmt(): stream language `deu'
[Mon Oct 18 23:12:02.635026 2021] [ts2shout:info] [pid 18047] add_payload_from_pmt(): Found HE-AAC audio stream in PID 851 (service_id 10479)
[Mon Oct 18 23:12:02.635041 2021] [ts2shout:info] [pid 18047] add_channel(): Subscribing to MPEG-TS PID 851 (Type CHANNEL_TYPE_PAYLOAD)
[Mon Oct 18 23:12:02.640154 2021] [ts2shout:info] [pid 18047] AAC inline RDS messages are enabled
[Mon Oct 18 23:12:02.640311 2021] [ts2shout:info] [pid 18047] Synced to HE-AAC, Guessed Samplerate 48000 Hz, Bitrate 128 kBit/s
[Mon Oct 18 23:12:02.640413 2021] [ts2shout:info] [pid 18047] aac_decode(): Error submitting the packet to the decoder: Invalid data found when processing input
[Mon Oct 18 23:12:02.795155 2021] [ts2shout:info] [pid 18047] SDT: Stream is station MDR SPUTNIK from network ARD MDR.
[Mon Oct 18 23:12:03.217433 2021] [ts2shout:info] [pid 18047] EIT: SPUTNIK Deine Lieblingsmusik
[Mon Oct 18 23:12:11.214843 2021] [ts2shout:info] [pid 18047] RDS: RDS data found, using RDS instead of EIT.
[Mon Oct 18 23:12:11.214889 2021] [ts2shout:info] [pid 18047] RDS: Chain My Heart - Bebe Rexha Topic
[Mon Oct 18 23:12:31.456016 2021] [ts2shout:info] [pid 18047] RDS: MDR SPUTNIK - Einfach die beste Musik - Deine Lieblingsmusik
[Mon Oct 18 23:12:51.616331 2021] [ts2shout:info] [pid 18047] RDS: Kontakt zur MDR SPUTNIK - Hotline: 08000-210000
[Mon Oct 18 23:13:11.876451 2021] [ts2shout:info] [pid 18047] RDS: Chain My Heart - Bebe Rexha Topic
Bei SWR1 wird entsprechend erkannt, daß ein separater RDS PID vorhanden ist (die Anpassungen für die extra RDS PID hat schon ihren Weg zu tvheadend gefunden)
Code: Alles auswählen
[Mon Oct 18 23:16:47.151672 2021] [ts2shout:info] [pid 18163] init_structures(): Subscribing to MPEG-TS PID 0, 17, 18 (CHANNEL_TYPE_PAT, CHANNEL_TYPE_SDT, CHANNEL_TYPE_EIT)
[Mon Oct 18 23:16:47.151728 2021] [ts2shout:info] [pid 18163] ts2shout version v0.99-1-geeef2ec compiled 18.10.2021 18:16 started
[Mon Oct 18 23:16:47.151740 2021] [ts2shout:info] [pid 18163] MPEG streaming with shoutcast StreamTitles in CGI mode with RDS support.
[Mon Oct 18 23:16:47.152554 2021] [ts2shout:info] [pid 18163] fetch_cached_parameters(): found parameters for programme SWR1 BW
[Mon Oct 18 23:16:47.467387 2021] [ts2shout:info] [pid 18163] add_channel(): Subscribing to MPEG-TS PID 500 (Type CHANNEL_TYPE_PMT)
[Mon Oct 18 23:16:47.467454 2021] [ts2shout:info] [pid 18163] extract_pat_payload(): Added 1 possible PMT id(s) with transport_stream_id: 1039.
[Mon Oct 18 23:16:47.708379 2021] [ts2shout:info] [pid 18163] add_payload_from_pmt(): Audio `AAC profile, Level 2'
[Mon Oct 18 23:16:47.708519 2021] [ts2shout:info] [pid 18163] add_payload_from_pmt(): stream language `deu'
[Mon Oct 18 23:16:47.708546 2021] [ts2shout:info] [pid 18163] add_payload_from_pmt(): Found HE-AAC audio stream in PID 501 (service_id 10440)
[Mon Oct 18 23:16:47.708567 2021] [ts2shout:info] [pid 18163] add_channel(): Subscribing to MPEG-TS PID 501 (Type CHANNEL_TYPE_PAYLOAD)
[Mon Oct 18 23:16:47.712621 2021] [ts2shout:info] [pid 18163] add_payload_from_pmt(): Found RDS data stream in PID 502
[Mon Oct 18 23:16:47.712655 2021] [ts2shout:info] [pid 18163] add_channel(): Subscribing to MPEG-TS PID 502 (Type CHANNEL_TYPE_RDS)
[Mon Oct 18 23:16:47.712670 2021] [ts2shout:info] [pid 18163] AAC inline RDS messages are disabled (Separate RDS PID 502 available)
[Mon Oct 18 23:16:47.712753 2021] [ts2shout:info] [pid 18163] Synced to HE-AAC, Guessed Samplerate 48000 Hz, Bitrate 128 kBit/s
[Mon Oct 18 23:16:48.067591 2021] [ts2shout:info] [pid 18163] SDT: Stream is station SWR1 BW from network ARD SWR.
[Mon Oct 18 23:16:48.228608 2021] [ts2shout:info] [pid 18163] EIT: SWR1 Baden-Württemberg
[Mon Oct 18 23:17:05.828682 2021] [ts2shout:info] [pid 18163] RDS: RDS data found, using RDS instead of EIT.
[Mon Oct 18 23:17:05.828785 2021] [ts2shout:info] [pid 18163] RDS: Father and son / Cat Stevens
[Mon Oct 18 23:17:21.887128 2021] [ts2shout:info] [pid 18163] RDS: Father and son / Cat Stevens SWR1 Baden-Württemberg mit Barbara Scherrer
[Mon Oct 18 23:17:40.950602 2021] [ts2shout:info] [pid 18163] RDS: Father and son / Cat Stevens Looking for the summer / Chris Rea
[Mon Oct 18 23:18:01.008556 2021] [ts2shout:info] [pid 18163] RDS: Chris Rea - Looking for the summer
Viele Grüße,
Carsten