Ich versuche, HLS m3u8 Datei zu analysieren und wo am stecken ist entspricht m3u8 Links. Also, wenn URI=
existiert, von #EXT-X-I-FRAME-STREAM-INF
, greifen Sie das eine in Anführungszeichen, und wenn es nicht, #EXT-X-STREAM-INF
, greifen Sie den Link aus der neuen Zeile.Parsing HLS m3u8 Regex
Text:
#EXT-X-STREAM-INF:BANDWIDTH=263851,CODECS="mp4a.40.2, avc1.4d400d",RESOLUTION=416x234,AUDIO="bipbop_audio",SUBTITLES="subs"
gear1/prog_index.m3u8 <== new line link
#EXT-X-I-FRAME-STREAM-INF:URI="gear1/iframe_index.m3u8",CODECS="avc1.4d400d",BANDWIDTH=28451
Regex:
(?:#EXT-X-STREAM-INF:|#EXT-X-I-FRAME-STREAM-INF:)(?:BANDWIDTH=(?<BANDWIDTH>\d+),?|CODECS=(?<CODECS>"[^"]*"),?|RESOLUTION=(?<RESOLUTION>\d+x\d+),?|AUDIO=(?<AUDIO>"[^"]*"),?|SUBTITLES=(?<SUBTITLES>"[^"]*"),?|URI=(?<URI>"[^"]*"),?)*
Bitte beachten Sie [diese Demo] (https://regex101.com/r/lOwJGk/3), tun yo Willst du so etwas? Ordne eine zusätzliche Zeile zu und fange sie in der zweiten 'URI'-Gruppe (mit' (? J) ') ein, wenn' # EXT-X-STREAM-INF' in Gruppe 1 gefunden wurde. –
@Wiktor Stribiżew Du bist jenseits von Gott! Bitte machen Sie einen Beitrag, damit ich abstimmen und als Antwort akzeptieren kann. –
Sind Sie sicher, dass Ihr Motor PCRE ist?Wird es im aktuellen Projektcode funktionieren? –