miniDLNA nagyobb MKV-k lejatszasa?

Fórumok

hello,

adott egy miniDLNA szerver sok mindent hibatlanul lejatszik, de a nagyobb meretu MKV-t es AVI-t nem, a Win-es kliens kodekhianyra panaszkodott, BB-m pedig internal error...otlet?

Koszi
FBK

Hozzászólások

Üdv! Mi számít nagyobb MKV-nak? 30Gb-s filmet (pl.: Prometheus) vitte. (arch linux + raspberry + sharkoon dokkoló)

Az nem nagy, ennél nálam jóval nagyobbak is mennek. De tény, hogy van olyan film, amit a kliens codec hibával visszadob - ez viszont jellemzően kliens oldali hiányosság. Amivel én még hülyeséggel találkoztam, hogy egy akármi.mov fájlt visszadobott a kliens, de amikor azt akármi.mp4-re átneveztem, akkor szó nélkül vitte :-)

Ja, nézz rá a fájlra (pl. mediainfo-val, vagy ffmpeg -i / avconv -i paranccsal), hogy milyen codec-kel tömörített a benne levő adattartalom, és nagy eséllyel aminél hibát kapsz az mind ugyanolyan, amit lejátszik, az mind nem olyan.

No de milyen hardveren fut a szerver? Mert a TP-LINK routerről játszva nekem is akadt sokminden...

Ha a filmet közvetlenül a Windowson játszod le (USB stick, külső merevlemez,…), akkor gond nélkül működik a lejátszás?

-----

(&%;_98\<|{3W10Tut,P0/on&Jkj"Fg}|B/!~}|{z(8qv55sr1C/n--k**;gfe$$5a!BB]\.-

Maga a film lejátszása a kliensen történik, a miniDLNA server nagyon leegyszerűsítve csak egy linket ad a kliensnek a filmhez.
Például: http://192.168.1.1:8200/MediaItems/1346.mkv
Response headerbe belekerül, hogy milyen MIME típusú a film, innen tudja a kliens, hogy mégis mivel van dolga.
Content-Type:"video/x-matroska"

A kliensen kell rendelkezésre állnia a megfelelő codec a lejátszáshoz.
Nagyon fontos, hogy az mkv és avi csak konténer, különböző video formátumokat is tartalmazhatnak.
http://en.wikipedia.org/wiki/Comparison_of_container_formats#Video_form…

Az mkv és avi fájl mérete önmagában még nem jelent semmit. A benne találtható video és audio információt lejátszani képes codec kell a kliens oldalon. Illetve nagy video és/vagy audio bitrate esetén megfelelő gyorsaságú hálózati kapcsolat a szerver és a kliens között, hogy ne szaggasson a lejátszás (bár ez nem volt kérdés).

Természetesen a miniDLNA is elemzi a fájlokat és bizonyos információk (MIME típus, hossz (idő), felbontás, stb) belekerülnek egy sqlite adatbázisba, ezért szerver oldalon is kellenek a codec-ek. De szerver oldalon ez csak az adatbázis építésekor és a megfigyelt könyvtárakban új fájlok keletkezésekor történik meg. Ebből az adatbázisból mondja meg a miniDLNA a kliensnek, hogy hogyan néz ki a könyvtárstruktúra, milyen fájlok vannak, stb.
Mellékesen jegyezném meg (mortein79 kommentje miatt), hogy inotify normál esetben nem okozhat semmilyen teljesítményproblémát, annak csupán annyi szerepe van, hogy a megfigyelt könyvtárak tartalmával szinkronizálja az adatbázist. Akkor lehet csak leginkább I/O miatt gond, ha éppen a miniDLNA szerverről nézünk filmet és közben másolunk tartalmat a megfigyelt könyvtárakba.

Vannak olyan UPnP/DLNA szerverek (miniDLNA nem ilyen) amik képesek átkódolni a tartalmat szinte bármilyen más formátumba és azt adni a kliensnek. Például mpeg4 formátumú videot mpeg2 formátumba. Ebben az esetben a kliens mar egy mpeg2 stream-et kap, tehát mpeg2-t kell tudnia lejátszania, mpeg4-et nem. Itt azonban az átkódolás miatt jóval erősebb szerver gépre van szükség elsősorban CPU és memória szempontjából.

Érdemes egyébként egy Wireshark-ot elindítani és megnézni, hogy mit kommunkál egymással a miniDLNA server és a kliens.