Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Screenshots uit een torrent stream halen

Pagina: 1
Acties:

  • Ortixx
  • Registratie: Mei 2006
  • Laatst online: 19-06-2023
Ik probeer een klein scriptje te schrijven om 1 of meerdere screenshots uit een torrent te onttrekken zonder die geheel te downloaden.

Nu ben ik al een tijdje aan het klooien met torrent-stream en daarmee kan ik bepaalde delen van een torrent downloaden (start byte en endbyte), maar ik ben benieuwd hoe ik die delen kan uitlezen en een screenshot daaruit kan dumpen. Ik heb namelijk niet echt een idee hoe decoders werken.

Ik kan me voorstellen dat er bepaalde delen in ieder geval nodig zijn zoals wellicht een header en op zijn minst een I-Frame om een beeld daaruit op te bouwen (het gaat om een h.264 codec).

Ik heb een simpele wrapper gevonden voor ffdshow in nodejs met een prima API om ook heel simpel screenshots te maken. Alleen heb ik dus geen idee wat er precies nodig is om een screenshot te kunnen bouwen. Ik kan duidelijk niet zomaar een stream van data naar die ffdshow wrapper gooien en een screenshot daaruit verwachten.

Dus mijn vraag is of iemand mij op het juiste pad kan zetten en kan vertellen wat ik ongeveer zou moeten doen/weten om dit voor elkaar te krijgen _/-\o_

[ Voor 3% gewijzigd door Ortixx op 13-11-2014 20:02 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Dit heeft natuurlijk helemaal niks meer met torrent zelf te maken. Je weet blijkbaar hoe je delen van een torrent kan downloaden. Je hebt het hier blijkbaar over een video die je wil downloaden waar je een screenshot van wil hebben.

Je zult je dus primair moeten focussen op een video stream. Daarbij is het nogal belangrijk welk formaat het is. Als het bijvoorbeeld alleen over MKV's gaat zul je moeten kijken hoe die container in elkaar zit, en wat je daar van moet downloaden. Vervolgens moet je dan ook nog eens gaan kijken welke compressie er gebruikt is voor de video ( Dat zal in de MKV container vermeld staan ). Voor dat type video zul je moeten kijken hoe je er een screenshot van kan maken.

Het lijkt mij verstandig om eerst eens te beginnen met een enkel formaat, en dus inderdaad bijvoorbeeld h.264 in MKV. Dan zul je eerst het MKV container gedeelte moeten parsen, en vervolgens de h.264 stream ontleden.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 20:32

RayNbow

Kirika <3

Misschien is dit handig om uit te proberen:
FFMPEG is very good about working with broken streams. Because of this, I think you should try downloading the first few megs of that remote media, and try to get a thumbnail from the incomplete file.
Dus, neem een videofile en produceer hieruit een corrupte versie met missende delen. Vogel vervolgens uit hoe veel data je van het oorspronkelijke bestand nodig hebt om fatsoenlijk thumbnails te kunnen genereren.

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


  • Adion
  • Registratie: Januari 2001
  • Laatst online: 21-11 15:14
Het lijkt me nog efficienter om gewoon ffmpeg te gebruiken met je eigen read-callbacks.
Je opent het bestand dan, doet een seek naar de positie waar je de screenshot wil nemen, en je laat je torrent-downloader enkel de data downloaden die door de callbacks gevraagd worden.
(In de seek callback kan je verder een aantal zaken bewust niet ondersteunen zoals het zoeken naar het einde van het bestand)

VirtualDJ 2024 - Fast Image Resizer - Instagram