Kirjoittaja Aihe: Videosta kuvia [RATKAISTU]  (Luettu 4358 kertaa)

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Videosta kuvia [RATKAISTU]
« : 22.08.09 - klo:17.21 »
Mitenhän saisin helpoiten tehtyä videosta kuvia? Tahtoisin ottaa muutaman framen (peräkkäisiä) sieltä täältä yhdestä kameralla kuvatusta videopätkästä. Ainakin mplayerillä näkyy onnistuvan, mutta olisiko jotain helppoa tapaa vai pitääkö minun ensin pätkiä tuo video? Tosin ei tuo kovin ylivoimaista ole ensin pätkiä niitä kaikkia kohtia siitä ja sitten tehdä niistä kuvia tuolla, mutta jos saisi suoraan niin aina parempi.

Tässä se Mplayerin tapa:
Koodia: [Valitse]
mplayer inputfile -vo png:z=8 -ao nullhttp://ubuntuforums.org/showthread.php?t=1042249
« Viimeksi muokattu: 23.08.09 - klo:13.43 kirjoittanut Tomppeli »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

UbunTux

  • Käyttäjä
  • Viestejä: 2046
  • KubunTux
    • Profiili
Vs: Videosta kuvia
« Vastaus #1 : 22.08.09 - klo:18.32 »
-ss aloitusaika (s)
-endpos pituus (s)
KDE neon
Uudempaa KDE:tä Ubuntulla

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: Videosta kuvia
« Vastaus #2 : 22.08.09 - klo:18.35 »
-ss aloitusaika (s)
-endpos pituus (s)
Helpompi pätkiä ensin ja sitten muuntaa. ;) Kiitos kuitenkin. :)
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: Videosta kuvia
« Vastaus #3 : 22.08.09 - klo:18.45 »
Tällaisella skriptillä onnistuu helposti, jos paikat ovat tiedossa. Aloituskohtien tarkkuus tosin on vain yhden GOP:n luokkaa, kuten myös leikkauksissa ellet pakkaa videota uudelleen.

Koodia: [Valitse]
#!/bin/sh

USAGE=0

if [ "x$1" == "x" ]; then USAGE=1; fi
if [ "x$T" == "x" ]; then USAGE=1; fi
if [ "x$FRAMES" == "x" ]; then FRAMES=5; fi
if [ "x$OUT" == "x" ]; then OUT="out-"; fi

if [ $USAGE == 1 ]; then
    echo -e "\nusage example: T=\"1:00 2:30 4:50\" FRAMES=3 OUT=\"out-\" $0 inputfile\n"
    exit 1
fi

for pos in $T; do
    mplayer -quiet -ss "$pos" -vo png:z=7 -frames "$FRAMES" -nosound "$@"
    rename "s/^000000/$OUT$pos-/" 000000*.png
done

Jos haluat valita aloituskohdat yhden framen tarkkuudella eikä tiedosto ole intraframe-formaatissa (DV, MJPEG, ...), joutunet tekemään operaation manuaalisesti jonkun videoeditorin kuvakaappaustoiminnolla. Avidemux ja kdenlive varmaankin osaavat tämän.
« Viimeksi muokattu: 22.08.09 - klo:18.50 kirjoittanut nm »

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: Videosta kuvia
« Vastaus #4 : 22.08.09 - klo:18.55 »
Juu framen tarkkuudella pitää tehdä, koska muuten ne muutaman framen mittaiset otokset menisivät vähän pieleen... Tosin voisihan ne ylimääräiset aina poistaa.

Eli leikkelenpä siis ja sitten leikkelen ne kuvat siitä. :)
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: Videosta kuvia
« Vastaus #5 : 22.08.09 - klo:19.11 »
Eli leikkelenpä siis ja sitten leikkelen ne kuvat siitä. :)

Leikkauksissa on sama tarkkuusongelma, ellet uudelleenpakkaa videota. Tai jos se on DV:tä, mplayerin -ss toimii suoraan framen tarkkuudella.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: Videosta kuvia
« Vastaus #6 : 23.08.09 - klo:13.43 »
Juu pitihän se pakata, mutta onnistui ihan hyvin, kun valitsi Kdenlivestä sopivan pakkausmuodon. Ensin (tai ensimmäinen joka suostui pakkaamaan) tuli valittua sellainen, joka kyllä teki toimivan ja hyvän videon, mutta siitä ei saanut kuvia. Sitten kokeilin H264 I-frame only:a ja siitä saikin kuvia Mplayerillä. :)

Kiitos kaikille auttaneille. :)
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

peran

  • Vieras
Vs: Videosta kuvia [RATKAISTU]
« Vastaus #7 : 25.08.09 - klo:06.00 »
Tein tolla kuvia DVB-videosta, mutta siitä tulikin kysymys mieleen.

Onko toi leffa-leveys DVB:ssä samoilla resoluutioilla kuin normaalikin leveys, koska mplayer teki niistäkin kuvista resoon 720x576 ?

Ja joka tapauksessa mikä on kätevin tapa laittaa kuvat Wide-levyiseksi ?

Onnistuuko se suoraan mplayerillä?

Vai pitääkö se jälkikäteen stretsaamalla kokoon 1024x576 jotenkin tehdä imagemagick:llä?
« Viimeksi muokattu: 25.08.09 - klo:06.07 kirjoittanut peran »

peran

  • Vieras
Vs: Videosta kuvia [RATKAISTU]
« Vastaus #8 : 25.08.09 - klo:11.17 »
Jos imagemagick:llä pitää ratkaista ko. ongelma, niin tämä saattaa olla paras ratkaisu:
Koodia: [Valitse]
#!/bin/bash
for f in $1 ; do convert $f -sample 142.22x100% "$2$f" ; done

Kokeilin myös ratkaisua -samle 1024x576. Se oli nopeampi, mutta minulla se ei jostain syystä muuttanut kuvien kokoa.

Käyttö:
Koodia: [Valitse]
./makewidedvb '*.png' wide/

Kyseinen tekee png-kuvista leveitä wide-kansioon.

UbunTux

  • Käyttäjä
  • Viestejä: 2046
  • KubunTux
    • Profiili
Vs: Videosta kuvia [RATKAISTU]
« Vastaus #9 : 25.08.09 - klo:11.25 »
Onnistuuko se suoraan mplayerillä?


-vf scale=1024:576 -sws 9

Itse käytän lancozia mplayerissä eli -sws 9. Se on tietystikin hitaampi kuin -sws 2 bicubic...
KDE neon
Uudempaa KDE:tä Ubuntulla

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: Videosta kuvia [RATKAISTU]
« Vastaus #10 : 25.08.09 - klo:12.13 »
Onnistuuko se suoraan mplayerillä?


-vf scale=1024:576 -sws 9

Skaalauksen voi myös tehdä automaattisesti kuvasuhteen perusteella, jolloin sekä 4:3 että anamorfinen 16:9 kuva näkyy oikein:

-vf scale=-2:576 -sws 9


Edit: Lomituksenpoistoa kannattanee myös käyttää, jos lähteenä on muutakin kuin elokuvia:

-vf yadif=0,scale=-2:576 -sws 9

Tai hieman paremmalla laadulla (ja paljon hitaammin):

-vf yadif=1,mcdeint=0:0:10,framestep=2,scale=-2:576 -sws 9
« Viimeksi muokattu: 25.08.09 - klo:12.34 kirjoittanut nm »

peran

  • Vieras
Vs: Videosta kuvia [RATKAISTU]
« Vastaus #11 : 17.10.10 - klo:23.35 »
Tämä on kyllä varsin vanha aihe, mutta näitä legendaarisia säikeitä, joita ei kuitenkaan kannata stickata.

Huomasin, että Videon saa kuviksi myös ppm-formaatiksi, joka on varsin käyttökelpoinen formaatti, mikäli käsittelee kuvia ilman kirjastojen apuja:
Koodia: [Valitse]
mplayer -vo pnm videofile.avi

Siis tämä itseni muistiksi ja muiden iloksi.

Formaatti on niin yksinkertainen, että ottamalla kuvasta ominaisuudet, katsoo kuvan muodon ja ottaa hexdumpin, niin ymmärtää formaatin. ;)

Koodia: [Valitse]
hexdump 00000001.ppm -c

Edit - Tietenkin kannattaa verrata tiedoston kokoa myös.
« Viimeksi muokattu: 17.10.10 - klo:23.37 kirjoittanut peran »