Python 2.7. Piszę sobie odtwarzacz i wyskakuje mi: An error occured while opening http://... with libmediainfo. Co mam źle zainstalowane? Jak naprawić ten błąd? pymediainfo mam zainstalowane.
Python 2.7 został zaorany zakończyli wsparcie w 2020 roku, nie jest już wspierany itp. Użyj nowego Pythona 3.12
szok napisał(a):
Python 2.7 został zaorany zakończyli wsparcie w 2020 roku, nie jest już wspierany itp. Użyj nowego Pythona 3.12
Mi właśnie chodzi o 2.7. Wiem,że nie jest wspierany. Mam też 3.11, ale chodzi mi dokładnie o pythona 2.7.
A cos wiecej co do błędu? Tam jest jakis status zwrotki błędu?
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
lista.m3u
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 801, in __bootstrap_inner
self.run()
File "C:\Python27\lib\threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "lib\videoPlayer.py", line 133, in Play
self.seek(url)
File "lib\videoPlayer.py", line 118, in seek
media_info = MediaInfo.parse(url)
File "C:\Python27\lib\site-packages\pymediainfo\__init__.py", line 391, in parse
" with libmediainfo".format(filename))
RuntimeError: An error occured while opening http://cdnx1.plusx.tv:8880/325/video.m3u8?token=20357f43223f7036273333 with libmediainfo
Finished. Press any key to exit...
Dasz rady to otworzyć czyms innym? I obawiam się, że biblioteka jest przestarzała, Python2
WTF?
Przerobiłem teraz na pythona 311 i pyqt5. To samo.
Nie mów że kupiłeś pirackie iptv i teraz chcesz sobie broadcastować/zapisywać programy. Masz za mało wiedzy na ten temat.
Zmieniłem url na yt i to samo. I nie kupiłem, tylko znalazłłem w sieci. Po drugie, jak ktoś nie zna odpowiedzi, to się czepia czegoś innego.
Ale link jest dobry?
Tak.
Tutaj chyba chodzi o media_info = MediaInfo.parse(url) jednak.
Przejedź to debuggerem, to zobaczysz, albo daj więcej kontekstu.
pymediainfo jest wrapperem na bibliotekę natywną. Którą wersję tej biblioteki masz zainstalowaną? I czy masz w ogóle? ;-)
BTW ten link działa, w VLC otwiera bez problemu, 13 ulica.
pymediainfo 6.1.0, python 3.11 pymediainfo może w ogóle parsować strumień http?
Tak mi napisał ChatGPT:
Aby parsować strumień HTTP przy użyciu biblioteki pymediainfo w języku Python, możesz najpierw pobrać strumień HTTP, a następnie przekazać ten strumień do obiektu MediaInfo. Oto jak to zrobić:
import requests
from pymediainfo import MediaInfo
# Pobierz strumień HTTP
url = 'adres_url_strumienia_http'
response = requests.get(url, stream=True)
# Utwórz obiekt MediaInfo
media_info = MediaInfo.parse(response.content.decode('utf-8'))
# Analizuj informacje o multimediach
for track in media_info.tracks:
print(f"Typ ścieżki: {track.track_type}, Kodek: {track.codec_name}, Rozdzielczość: {track.width}x{track.height}")
W tym kodzie url to adres strumienia HTTP, który chcesz parsować. Gdy już go pobierzesz przy użyciu requests, możesz przekazać jego zawartość do MediaInfo.parse() i uzyskać informacje o multimediach za pomocą obiektu MediaInfo. Następnie możesz przeglądać ścieżki śladów (tracks) i wydobywać potrzebne informacje, takie jak typ, kodek, rozdzielczość itp.
Ale jak dam requests, to będzie pobierał cały czas.
Ale coś w tym jest. ~Bo faktycznie pobiera m3u i tracki.
AI podała mi coś takiego:
# coding: cp1250
import tempfile
import urllib.request
from pymediainfo import MediaInfo
url = "http://cdnx1.plusx.tv:8880/325/video.m3u8?token=20357f43223f7036273333"
with urllib.request.urlopen(url) as response:
with tempfile.NamedTemporaryFile(delete=False) as tmp_file:
tmp_file.write(response.read())
tmp_file_name = tmp_file.name
media_info = MediaInfo.parse(tmp_file_name)
for track in media_info.tracks:
print(f"Typ ścieżki: {track.track_type}, Kodek: {track.codec_name}, Rozdzielczość: {track.width}x{track.height}")
Dzięki wszystkim za pomoc.