Skala ner xvid utan att komprimera en gång till?

Permalänk
Medlem

Skala ner xvid utan att komprimera en gång till?

Är det möjligt att på något sätt reducera upplösningen i ett xvid-klipp utan att göra en ytterligare komprimering?

Använder jag t.ex. VirtualDub så är ju omkodning ett måste.

Visa signatur
Permalänk
Medlem

Nej det går inte utan omkomprimering. För att undvika omkomprimering kan du förstås spara i okomprimerat format (men då blir filerna extremt mycket större och inte längre xvid-format).

Är det bara vid uppspelning du vill reducera upplösningen så kan du använda ett avisynth-script. T.ex. följande som du sparar med anteckningar som "film.avs" och så spelar du den filen istället (det påverkar inte filen men du får en annan upplösning i alla fall).

AviSource("C:\Film.avi")
LanczosResize(320,240) #Ny upplösning

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av ronnylov
Är det bara vid uppspelning du vill reducera upplösningen så kan du använda ett avisynth-script. T.ex. följande som du sparar med anteckningar som "film.avs" och så spelar du den filen istället (det påverkar inte filen men du får en annan upplösning i alla fall).

Jag vill reducera upplösningen för att kunna spela upp filmerna på min telefon. Uppspelning av xvid-filmer som är större än 320*240 (som är telefonens native-upplösning) går lite för tungt, och naturligtvis är ju storleken en liten faktor.

Jag har hittills använt VirtualDub och PocketDivxEncoder, som visserligen har fungerat fint, men man märker en kvalitetsförlust på slutresultatet som känns lite onödig.

Dubbelkomprimeringen blir ganska uppenbar. =/

Visa signatur
Permalänk
Medlem

Man kommer inte ifrån att det blir kvalitetsförlust när man komprimerar om med låg upplösning dessutom. Om du har kvar originalen som xvid-filmerna skapades ifrån så blir det kanske något bättre kvalitet då du slipper en extra omkomprimering. Jag menar om du filmat med din DV-kamera t.ex. så koda till 320x240 direkt från DV istället för ifrån xvid-kopian. Xvid är inte lossless så varje ny generation ger kvalitetsförluster.

Permalänk
Medlem

Självklart är kvaltetsförlust oundvikligt iom att man sänker upplösningen, men den blir ännu mer påtaglig efter omkomprimeringen.

Jag trodde faktiskt att det skulle vara möjligt att på något sätt bara "ta bort" informationen för typ "varannan pixel", men det är väl förmodligen omöjligt.

Visa signatur
Permalänk
Testpilot

XviD sparar, precis som JPEG inte varenda pixel och bildruta. På ett bestämt intervall så är det en så kallad keyframe som innehåller full information, bilderna mellan dom består av olika beräkningar av vektorer och sånt, kombinerat med delar av ny information.

Visa signatur

Kolla gärna in min RGB-LED-ljusstake i galleriet
[Gigabyte GA-Z97MX-Gaming 5][Intel Core i5 4690K][Corsair XMS3 16GB][Asus GeForce RTX 2060 Super Dual Evo OC]

Permalänk
Medlem

Jag vet ungefär hur komprimeringen fungerar. Och just eftersom den består av massa beräkningar borde det väl teoretiskt sett gå att modifiera dessa, så att de enbart resulterar i hälften så stora ytor, t.ex...

Nåja, detta kanske är långt för komplext för att fungera i praktiken.

Visa signatur
Permalänk
Medlem

Bilden är uppdelad i ett mindre antal block. Dessa block är 8x8 pixlar har jag för mig och jag vet inte om det funkar att minska ner dessa till 4x4. Det kanske går tekniskt men jag vet inget program som kan göra det och är inte säker på att den nya filen uppfyller specifikationerna heller (om blocken blir mindre än förväntat så skulle det krävas någon special-codec för att spela upp det). Men även om man gör på det här sättet så blir det ändå en sorts omkomprimering om det ska sparas ner som en ny fil.

Men det verkar vara en käck idé för en programvara för att spela upp filmer i lägre upplösning än original för att dra mindre datorkraft. Kan komma att efterfrågas för uppspelning av nerskalad HDTV t.ex.