mickey Opublikowano 8 Sierpnia 2016 Udostępnij Opublikowano 8 Sierpnia 2016 Podobno najwygodniej ogląda mi się filmy na TV a w moim odczuciu praktyczne możliwości odtworzenia mp4 czy mkv na nboksie to 720p (używając E3 z multiframework). Z drugiej strony odtworzenie materiałów 1080 z TV, także tych nagranych, nie stanowi dla nboksa problemu, więc dlaczego problemem jest odtworzenie filmu 1080p na tym sprzęcie? Odpowiedź jest dość prosta: Przy odtwarzaniu TV obciążone są jednostki ST231, które specjalizują się w dekodowaniu strumieni wideo a procesor główny przez to ma wolne moce obliczeniowe. Kiedy odpalamy MKV, MP4 czy też inne AVI, to większość pracy spada na procesor główny ST40, który mówiąc krótko "nie daje rady". GST przy odtwarzaniu takich plików praktycznie całą robotę zrzuca na ST40. Trochę lepiej jest z EPlayer3, ale ten i tak dość mocno obciąża ST40 przy próbie odtworzenia materiału 1080p. Nasuwa się pytanie: To dlaczego przy odtwarzaniu MKV nie jest używany ST231? A nie wiem... Widać, to nie takie proste, jeżeli nie zostało to na razie zrobione. Oki, tyle tytułem przydługiego wstępu. Tak sobie kiedyś pomyślałem: No jak TSy nie stanowią problemu dla nboksa (taki jest format nagrań), to może dałoby się MKV czy MP4 przerobić na TS. No i spróbowałem: film 1080p w formacie MKV przerobiony na 1080p w formacie TS odtwarza się na nboskie bez problemu, nawet odtwarzany z dysku sieciowego. Na tym mógłbym skończyć, ale jak ktoś doczytał do tego momentu, to dalej będzie łopatologiczna instrukcja jak sobie takiego TSa przygotować. Osobiście korzystałem z ffmpeg, ale może jakiś inny soft też da radę. Konwersję robię na zewnętrznej maszynie, bo nbox mógłby dostać zadyszki ... no i póki co dostępny na nim u mnie ffmpeg nie obsługuje zapisu w formacie TS (a ściślej: mpegts). Jak ktoś zainteresowany to zaczynamy. Na początek trzeba by sprawdzić plik źródłowy: ffmpeg -i plik.mkv Jeżeli w wyniku znajdziemy: Stream #0:0(eng): Video: h264 Stream #0:1(pol): Audio: ac3 To reszta będzie błyskawiczna. Format MPEGTS ma swoje ograniczenia, to znaczy obsługuje tylko wybrane kodeki (nie obsługuje np. XVID/DIVX), no i ST231 też ma swoje ograniczenia a dokładniej dekoduje sprzętowo MPEG-4 AVC high profile level 4.1/ MPEG-2 MP@HL, czyli w praktyce H.264 (libx264) oraz MPEG2 (mpeg2video). W przypadku audio na pewno radzi sobie z MP2 i AC3. Jakie są szczegółowe ograniczenia tych formatów i czy można dodać coś jeszcze do tej krótkiej listy tego nie wiem. Gdyby ktoś miał bardziej szczegółowe dane, to proszę napisać :) Tyle dygresji, wracamy do konkretów. Jeżeli plik wejściowy jest już zakodowany w wymaganym formacie, to konwersja polega na przekopiowaniu strumieni, bez kodowania, do nowego formatu: ffmpeg -i plik.mkv -c:v copy -c:a copy -f mpegts plik.ts No i na ekranie mamy: [mpegts @ 0x80945aa00] H.264 bitstream malformed, no startcode found, use the video bitstream filter 'h264_mp4toannexb' to fix it ('-bsf:v h264_mp4toannexb' option with ffmpeg) Nie wiem czy tak jest zawsze (ja mam tak zawsze), ale nie zastanawiając się wiele stosujemy się do zaleceń i piszemy: ffmpeg -i plik.mkv -c:v copy -bsf:v h264_mp4toannexb -c:a copy -f mpegts plik.ts Na mojej maszynie trwa to kilka sekund (fps=10659) i ograniczeniem właściwie jest chyba szybkość dysku. No dobra, a co jeżeli plik wejściowy jest w formacie, którego nbox nie potrafi sprzętowo przetworzyć? Wtedy szukamy innego źródła, albo trzeba poświęcić trochę czasu na przekodowanie strumieni. Kiedy to jest tylko dźwięk, to dalej jest szybko: ffmpeg -i plik.mp4 -c:v copy -bsf:v h264_mp4toannexb -c:a ac3 -f mpegts plik.ts U mnie poszło z szybkością fps=5150 a było w źródle: Stream #0:0(und): Video: h264 Stream #0:1(und): Audio: aac Można też puścić zupełnie prosto: ffmpeg -i plik.avi -f mpegts plik.ts Ale wtedy robi mpeg2video/mp2 z dość znośną szybkością rzędu fps=234, ale domyślne ustawienia jakości raczej nie będą zadowalające. Można spróbować: ffmpeg -i plik.mkv -c:v libx264 -crf 20 -c:a ac3 -f mpegts plik.ts Używam crf=20 dla 1080, 18 dla 720 i 16 dla mniejszych. Niestety szybkość spada do fps= 27. Szybciej jest jednak do MPEG2, ale plik będzie raczej duży (dwa razy większy niż x264), jeżeli jakość ma pozostać na znośnym poziomie jakościowym: ffmpeg -i plik.mkv -c:v mpeg2video -qscale:v 4 -c:a mp2 -f mpegts plik.ts Jakość (i w efekcie bitrate) reguluje tutaj "quantizer scale" (skala kwantyzacji?). Dostępny zakres to 2-31, ale jeżeli celem jest przyzwoita jakość to właściwie nie należy wychodzić poza zakres 2-4. Szybkość kompresji - ok. 150-200 fps, zależnie od wspomnianego współczynnika. Wyraźnie szybciej niż x264, ale i tak "chwilę" to trwa. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tux Opublikowano 8 Sierpnia 2016 Udostępnij Opublikowano 8 Sierpnia 2016 Przepływność Video. Nie wiem jak jest obecnie, ale jak miałem nBox to testy z Video Bitrate powyżej 8Mbp/s to była już dla niego masakra. o ścieżce AUDIO z DTS - zapomnieć. Ale może się coś zmieniło. Nie używam tunera do tego ;) Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mickey Opublikowano 8 Sierpnia 2016 Autor Udostępnij Opublikowano 8 Sierpnia 2016 Możesz rozwinąć stwierdzenie "jak wiadomo praktycznie możliwości odtworzenia mp4 czy mkv na nboksie to 720p"? Słuszna uwaga. Używanie stwierdzeń typu "jak wiadomo" jest wysoce niezalecene i kończy się rekcjami jak powyżej ;) Zmieniłem to sformułowanie na inne :) A próbując jednak odpowiedzieć na pytanie: Oglądając dłuższy materiał z dysku sieciowego razem z napisami, to w miarę komfortowo pod OpenPLi (FreePlayer lub MediaPlayer2) udaje mi się obejrzeć 720p. Kiedy jeszcze w tym czasie coś się nagrywa ... to albo trzeba przerwać nagranie albo obejrzeć w późniejszym terminie. Przy odtwarzaniu TSa bywa problem przy starcie odtwarzania, ale potem już działa bez problemów. Jeszcze pytanie ode mnie w związku z tym: Pytam, bo zaciekawiony powyższym tekstem postanowiłem sprawdzić, jak materiały 1080p zachowują się na Arivie@Link200, która, ma taki sam procesor jak nbox. Pobrałem parę sampli 1080p z inetu korzystając z wiadomo czego i nie widzę w ich odtwarzaniu niczego złego. Może nie wiem na co mam zwrócić uwagę? Sprawdzane pod openpli czy pod neutrino? Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TomTelos Opublikowano 8 Sierpnia 2016 Udostępnij Opublikowano 8 Sierpnia 2016 Pytam, bo zaciekawiony powyższym tekstem postanowiłem sprawdzić, jak materiały 1080p zachowują się na Arivie@Link200, która, ma taki sam procesor jak nbox. Pobrałem parę sampli 1080p z inetu korzystając z wiadomo czego i nie widzę w ich odtwarzaniu niczego złego. Może nie wiem na co mam zwrócić uwagę? To samo jest ze skórkami FullHD, na Arivie jest a na nboxie nie m nic, ciemno. Widocznie nBox jest za zbyt skompilowany sam w sobie. ;) Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
samsamsam Opublikowano 16 Października 2016 Udostępnij Opublikowano 16 Października 2016 Ciekawym jest fakt, że na tym forum usuwa się posty bez podania przyczyny. Ale jeszcze raz zdementuje bzdury wynikające prawdopodobnie z braku wiedzy kolegi mickey[/member]. [...]To dlaczego przy odtwarzaniu MKV nie jest używany ST231[...] Jest to nieprawda. Czy, to ffmpeg (libavformat), czy gstreamer to wideo dekodowane jest zawsze przez procesor DSP. Rola ffmpeg jak i gstreamer w tym przypadku kończy się na DEMILTIPLEKSACJI. Czyli wyciągania ramek audio, wideo z kontenera. ST231 też ma swoje ograniczenia a dokładniej dekoduje sprzętowo MPEG-4 AVC high profile level 4.1/ MPEG-2 MP@HL, czyli w praktyce H.264 (libx264) oraz MPEG2 (mpeg2video) DSP ma swoje ograniczenia i owszem wynikające z wydajności. Ale to co może zdekodować procek DSP zależy od jego firmwareu. I kodek XVID jest na liście, przynajmniej w tym firmwarze który mam ja. Procek DSP mógłby dekodować naprawdę sporo kodeków, ale trzeba by mieć firmware z obsługą ich wszystkich. Drogi kolego mickey[/member] naprawdę myślałeś, że wideo w nBox ma szanse być dekodowane softwarowo z wykorzystaniem CPU tak aby dało się to oglądać? Powiem Ci jesteś człowiekiem dużej wiary, ale zamiast usuwać posty, które rzucaj odrobinę światła na to jak to wszystko działa, bo jak widać po Twoim pierwszym poście z tą wiedzą jest po prostu kiepsko, to zacznij czytać. P.S Z moich obserwacji wynika, że często tak bywa, że jak ktoś zgrywa eksperta i przekazuje jakieś informacje używając górnolotnych sformułowań, że próbuje on tym zamaskować brak wiedzy. Jeżeli nie potrafisz czegoś prosto wyjaśnić - to znaczy, że niewystarczająco to rozumiesz. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tux Opublikowano 16 Października 2016 Udostępnij Opublikowano 16 Października 2016 Ogólnie dyskusja na temat 1080p w przypadku procesora 7101 nie ma sensu. Producent wyraźnie pisze, iż supportuje on maksymalnie 1080i. Także niezależnie od wszystkiego 1080p na 7101 to będzie cud. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
samsamsam Opublikowano 16 Października 2016 Udostępnij Opublikowano 16 Października 2016 Akurat chodziło mi tu o sprostowanie tego co pisał mickey[/member] odnośnie dekodowania wideo. Proponuje też, żebyście przyjrzeli się kodowi libeplayer3 bo od pewnej wersji wszystkie kodeki audio dekodował softwareowo do PCM i dopiero PCM było przetwarzane przez procesor DSP. A to obciążało CPU w znacznej mierze i nBox miał zadyszkę. W exteplayer3 można wybrać, który kodek audio ma być dedykowany softwarowo. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.