Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Buforowanie plików wideo
#1
Witajcie.
Mam problem z buforowaniem plików wideo. Plik się ładuje powoli i stopuje aby buforować. 
Ogólnie wszystkie typowe formaty chodzą ok (mkv, avi itd), a dotyczy to tylko plików zgranych z telefonów (konkretniej iphone). 
Baza plików jest na NAS Synology (wpięte w lan w 2 porty) - agregacja). Wszystko jest połączone po lanie do boxa na coreelec (S905X3 - X96 Max Plus). 

Przykładowe parametry pliku MOV:

General
Complete name               : D:\Download\fotki\20230122 IMG_4044 20230122 .MOV
Format                      : MPEG-4
Format profile              : QuickTime
Codec ID                    : qt   0000.00 (qt  )
File size                   : 51.7 MiB
Duration                    : 48 s 692 ms
Overall bit rate mode       : Variable
Overall bit rate            : 8 906 kb/s
Encoded date                : UTC 2023-01-21 10:21:11
Tagged date                 : UTC 2023-01-21 10:22:00
Writing library             : Apple QuickTime
com.apple.quicktime.locatio : 35.000000
com.apple.quicktime.locatio : +53.1229+022.0323+131.981/
com.apple.quicktime.make    : Apple
com.apple.quicktime.model   : iPhone 13 mini
com.apple.quicktime.softwar : 16.2
com.apple.quicktime.creatio : 2023-01-21T11:21:11+0100

Video
ID                          : 1
Format                      : HEVC
Format/Info                 : High Efficiency Video Coding
Format profile              : Main 10@L4@Main
HDR format                  : Dolby Vision, Version 1.0, dvhe.08.04, BL+RPU, HLG compatible
Codec ID                    : hvc1
Codec ID/Info               : High Efficiency Video Coding
Duration                    : 48 s 692 ms
Bit rate                    : 8 612 kb/s
Width                       : 1 920 pixels
Height                      : 1 080 pixels
Display aspect ratio        : 16:9
Frame rate mode             : Variable
Frame rate                  : 29.970 (29970/1000) FPS
Minimum frame rate          : 28.571 FPS
Maximum frame rate          : 30.000 FPS
Color space                 : YUV
Chroma subsampling          : 4:2:0
Bit depth                   : 10 bits
Bits/(Pixel*Frame)          : 0.139
Stream size                 : 50.0 MiB (97%)
Title                       : Core Media Video
Encoded date                : UTC 2023-01-21 10:21:11
Tagged date                 : UTC 2023-01-21 10:22:00
Color range                 : Limited
Color primaries             : BT.2020
Transfer characteristics    : HLG
Matrix coefficients         : BT.2020 non-constant
Metas                       : 3,4,5
Codec configuration box     : hvcC+dvvC

Audio
ID                          : 2
Format                      : AAC LC
Format/Info                 : Advanced Audio Codec Low Complexity
Codec ID                    : mp4a-40-2
Duration                    : 48 s 692 ms
Source duration             : 48 s 762 ms
Bit rate mode               : Variable
Bit rate                    : 202 kb/s
Channel(s)                  : 2 channels
Channel layout              : L R
Sampling rate               : 44.1 kHz
Frame rate                  : 43.066 FPS (1024 SPF)
Compression mode            : Lossy
Stream size                 : 1.17 MiB (2%)
Source stream size          : 1.17 MiB (2%)
Title                       : Core Media Audio
Encoded date                : UTC 2023-01-21 10:21:11
Tagged date                 : UTC 2023-01-21 10:22:00

Czy można coś przestawić w kodi aby lepiej to działało? Może plik jest za "ciężki" i nic z tym nie zrobię? Jak ewentualnie stremować lepiej te pliki aby się to nie cięło?
Odpowiedz
REKLAMA:



#2
Na początek to sprawdź jak szybki masz internet na tym CoreElec ( podstawa to gigabitowe połączenie przez sieć przewodową i wifi  5ghz ! ...a nie 2.4 ) może po prostu szwankuje Ci net lub szybkość tego z konkretnym PC / NAS-em  w sieci lokalnej ?
Na początek to w terminalu (ssh) CoreElec  sprawdź szybkość sieci np. komendą:
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -

lub szybkość do konkretnego PC w sieci ale trzeba by zainstalować program iperf3 tak na CoreElec jak i na konkretnym PC . W CoreElec wystarczy wtyczka / plugin :/ programy / Network Tools ... a na np. linux-ie doinstalowujesz:
sudo apt -y install iperf3

Potem na konkretnym PC uruchamiasz serwer iperf3 który będzie uruchomiony na porcie:5201 ( jeśli masz router musisz przekierować w/w na konkretne PC w sieci
iperf3 -s
Następnie uruchamiasz klienta iperf3 na CoreElec:
iperf3 -c (adres_IP_serwera_iperf3)
i zobaczysz z jaką szybkością łączy Ci się CoreElec z danym PC w sieci lan
Możesz też sprawdzić jeśli masz połączenie po kablu / sieci przewodowej ...czy masz połączenie gigabitowe 
ethtool eth0 | grep -i speed
powinieneś otrzymać takie info: Speed: 1000Mb/s
Jeśli sieć i jej szybkość jest OK ...to możesz jeszcze poeksperymentować z ustawieniami (CoreElec) w pliku :
advancedsettings.xml w ścieżce : /storage/.kodi/userdata/advancedsettings.xml ( jeśli go nie masz to musisz utworzyć )
i wpisać np.
<cache>
<buffermode>1</buffermode>
<memorysize>314572800</memorysize>
<readfactor>15</readfactor>
</cache>
 Co wpisać zależy od posiadanego sprzętu / ilości ram itd czyli eksperymentować 
więcej o :  By zobaczyć linki musisz się zalogować lub zarejestrować.
By zobaczyć linki musisz się zalogować lub zarejestrować.
Ps. a może jest coś nie tak z tymi plikami w formacie .mov ?
Odpowiedz
#3
Dzięki za wszystkie wskazówki.
Temat na pewno nie dotyczy Internetu bo wszystko jest w sieci lokalnej.
Router pokazuje mi połączenie 1Gbit z box'em. Switch na porcie gdzie jest wpięte BOX też pokazuje to samo.
Synology mam wpięte dwiema cieciówkami i jest link agregation zrobiony i też pokazuje 1Gbit.
Cała siec ogólnie jest w cat6, a połączenia miernikiem sprawdzane.

Zrobiłem prosty test. Filmik odpaliłem tradycyjnie przez sieć z NASa, a potem skopiowałem go do pamięci BOXa.
Przez lan buforował, ale po odpaleniu bezpośrednio chodził płynnie.
Musi być coś albo z siecią, albo z samym odpalaniem przez coreelec plików sieciowych.

Edit.
próbowałem wprowadzić zmiany w pliku advancedsettings.xml ale mimo prób nic to nie dało. Nadal się tnie albo jeszcze gorzej. Biorę się z te testy prędkości od boxa do innej maszyny, a najlepiej NASa.

Edit2.
zrobiłem test iperf3 między synology, a boxem. Na synology postawiłem serwer w doker dla iperf3, a na box zapuściłem klienta. Tak to wygląda[Obrazek: srNE4lU.png]
Odpowiedz
#4
Wygląda że jest OK z szybkością sieci ... a pliki wideo w sieci LAN oglądasz po sambie czy jakiś inny protokół ?
Nie pamiętam czy zmiana w pliku advancedsettings wymaga restartu Box-a / CE ? ...
U mnie po Sambie jest OK także oglądanie przez protokół ftp z serwera z szyfrowaniem TLS także OK ...ale już jak postawiłem wireguarda to niestety tylko do rozdziałki full HD /1080p jest OK powyżej również mam ciecia i buforowanie też nie wiem czemu ponoć ten vpn jest szybki i mało zżera iprocka i innych zasobów. Może szyfrowanie to powoduje ale ftp też jest szyfrowane 256bit kluczem TLS ?
Odpowiedz
#5
Ja bym zaczął od najprostszej sprawy w advancedsettings.xml:
<buffermode>2</buffermode>
lub
<buffermode>3</buffermode>
...ale może już tego próbowałeś.
Odpowiedz
#6
(30-01-2023, 09:11 PM)kris777 napisał(a): Wygląda że jest OK z szybkością sieci ... a pliki wideo w sieci LAN oglądasz po sambie czy jakiś inny protokół ?
Nie pamiętam czy zmiana w pliku advancedsettings wymaga restartu Box-a / CE ? ...
U mnie po Sambie jest OK także oglądanie przez protokół ftp z serwera z szyfrowaniem TLS także OK ...ale już jak postawiłem wireguarda  to niestety tylko do rozdziałki full HD /1080p jest OK powyżej również mam ciecia i buforowanie też nie wiem czemu ponoć ten vpn jest szybki i mało zżera iprocka i innych zasobów. Może szyfrowanie to powoduje ale ftp też jest szyfrowane 256bit kluczem TLS ?
Tak pliki oglądam po sambie. 
Po zmianach w pliku konfiguracyjnym robiłem restart zawsze.
Jednak coś jest nie do końca ok z odtwarzaniem sieciowym mov przez coreeelec.

Znalazłem chyba obejście problemu, tzn i tak chciałem coś zrobić z tą biblioteką.
Użyłem MKVtoolNix do przerobienia mov->mkv. Przy okazji łączę filmiki w jeden, jeśli dotyczą jednego wydarzenia.
Po pierwszych testach mkv działa płynnie i bez problemu. Strat w jakości nie ma. Proces konwersji w sekundach.
Z minusów jak połączę kilka mov w jeden mkv to mi przy przejściu do następnego filmiku potrafi delikatnie przyciąć obraz. Dziwna sprawa, którą muszę zgłębić, bo poza tym w 100% załatwia mi to temat odtwarzania przez sieć i porządków w bibliotece Smile

(30-01-2023, 09:45 PM)Toov napisał(a): Ja bym zaczął od najprostszej sprawy w advancedsettings.xml:
<buffermode>2</buffermode>
lub
<buffermode>3</buffermode>
...ale może już tego próbowałeś.
Próbowałem i nic nie dało, a było nawet gorzej.
Ogólnie ludzie piszą na necie, że to pomaga przy jakiś niedużych problemach z przycinaniem. W moim przypadku widać, że mov sprawia duży problem kodi przy odtwarzaniu sieciowym. Zdecydowanie jest to kwestia konfiguracji jakiejś, bo jak lokalnie uruchamiałem z pamięci kodi to nie ma problemu.
Odpowiedz
REKLAMA:



#7
Problem buforowania przy odtwarzaniu MOV rozwiązałem konwertując te pliki do MKV. Użyłem do tego MKVToolNix, który robi to bardzo szybko. Teraz pliki śmigają na CE.

Mam niestety jeszcze problem z obracaniem wideo. Kodi odtwarza pliki np nagrane telefonem w pionie nieprawidłowo, czyli przechylone. Niby jest opcja aby czytał informacje z metadanych pliku ale to chyba nie działa? Jak ręcznie w MKVToolNix ustawię w metadanych, że dany plik ma być przekręcony o 90 stopni, aby dobrze się wyświetlał, to na pc wyświetla się ok. No ale już na CE nic to nie zmienia i dalej wideo jest przekręcone.

Czy macie takie same problemy u siebie i ewentualnie jak to rozwiązujecie?
Odpowiedz
#8
ponoć MKVToolNix  nie ma metadanych rotacji ...w necie jest coś takiego (Możesz spróbować ustawić metadane rotacji za pomocą ffmpeg) ale czy to zadziała ?
ffmpeg -i input.mkv -c:v copy -c:a copy -metadata:s:v:0 rotate=180 -y output.mkv
Odpowiedz
#9
(14-03-2023, 08:18 PM)kris777 napisał(a): ponoć MKVToolNix  nie ma metadanych rotacji ...w necie jest coś takiego (Możesz spróbować ustawić metadane rotacji za pomocą ffmpeg) ale czy to zadziała ?
ffmpeg -i input.mkv -c:v copy -c:a copy -metadata:s:v:0 rotate=180 -y output.mkv

MKVtoolNIx ma te dane. Problem w tym, że np zmieniasz to w metadanych i zapisujesz sobie plik. Na PC ładnie odtwarza ale już na kodi mimo zmiany nadal orientacja jest zła. Nie mam pomysłu jak się za to zabrać. 
Dodatkowo łączę mniejsze filmiki w jeden większy i tam to w ogóle nie można dojść ładu i składu. Kodi odtwarza sobie bardzo różnie tj czasami przeczyta metadane i obróci obraz o 180 stopni (tak też jest w nich) ale już tych o 90 stopni nie chce ruszać.
Czytałem, że jest to problem kodi od wielu lat i chyba nikt z tym nic nie zrobił na dziś dzień.
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości