Kirjoittaja Aihe: Pakkausscriptin tekoa  (Luettu 7357 kertaa)

mihatsu

  • Käyttäjä
  • Viestejä: 77
    • Profiili
Pakkausscriptin tekoa
« : 08.01.06 - klo:18.57 »
Vähän huono otsikko mutta sain tuossa äsken idean jossa helpottus hiukan tv:stä nauhotettujen mpeg pätkien pakkaaminen aviksi. Eli saisko mitenkään tehtyä sellaisen systeemin että kun painan mpeg filen päällä hiiren kakkosnamiskaa niin siellä olisi vaihtoehto pakkaa aviksi se sitten ajaisi mencoder leffa.mpg -o movie.avi -ovc lavc -oac lavc komennon . Niin ja käytössä KDE. Onko visioita vai jatkanko vanhaan malliin?

Mika
« Viimeksi muokattu: 08.01.06 - klo:18.59 kirjoittanut mihatsu »

mihatsu

  • Käyttäjä
  • Viestejä: 77
    • Profiili
Re: Pakkausscriptin tekoa
« Vastaus #1 : 08.01.06 - klo:20.57 »
Sain tehtyä mpegtoavi.desktop

[Desktop Entry]
ServiceTypes=video/mpeg
Actions=convertmpgtoavi

[Desktop Action convertmpgtoavi]
Name=Convert mpg to avi
Icon=text_left
Exec=konsole --noclose -e time mencoder %u -o %f.avi -ovc lavc -oac lavc

Ongelma on tuossa vain että nimestä tulee xxx.mpg.avi tuo mpg pitäs saada välistä pois

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Re: Pakkausscriptin tekoa
« Vastaus #2 : 08.01.06 - klo:23.14 »
Minä tekisin tuosta skriptin /usr/local/bin-hakemiston alle ja sitten kutsuisin skriptiä tuosta esittämästäsi mpegtoavi.desktop:sta. Tämän ratkaisun hyvä puoli on se, että tämä toimii myös suoraan komentoriviltä. Allaoleva skripti tukee useamman tiedoston antamista parametriksi yhdellä kertaa (Exec=konsole --noclose -e mpegtoavi %F).

/usr/local/bin/mpegtoavi:
Koodia: [Valitse]
#!/bin/bash
[[ $# -lt 1 ]] && echo "Usage: $0 source.mpg [...]" && exit 1

for f in "$@"; do
    [[ "${f##*.}" != "mpg" ]] && continue
    time mencoder "$f" -o "${f%.*}.avi" -ovc lavc -oac lavc
done

Muista antaa tuolle skriptille suoritusoikeudet: chmod +rx /usr/local/bin/mpegtoavi.

Kirjoitin tuon suoraan testaamatta millään tavalla, joten tuossa voi olla virheitä. Ilmoita jos ei toimi niin korjataan sitten :)

Edit: Korjattu skriptistä bugi ja lisätty tiedostopäätteen tarkistus (.mpg).
« Viimeksi muokattu: 09.01.06 - klo:00.44 kirjoittanut mgronber »

mihatsu

  • Käyttäjä
  • Viestejä: 77
    • Profiili
Re: Pakkausscriptin tekoa
« Vastaus #3 : 08.01.06 - klo:23.24 »
Minä tekisin tuosta skriptin /usr/local/bin-hakemiston alle ja sitten kutsuisin skriptiä tuosta esittämästäsi mpegtoavi.desktop:sta. Tämän ratkaisun hyvä puoli on se, että tämä toimii myös suoraan komentoriviltä. Allaoleva skripti tukee useamman tiedoston antamista parametriksi yhdellä kertaa (Exec=konsole --noclose -e mpegtoavi %F).

/usr/local/bin/mpegtoavi:
Koodia: [Valitse]
#!/bin/bash
[[ $# -lt 1]] && echo "Usage: $0 source.mpg [...]" && exit 1

for f in "$@"; do
    time mencoder "$f" -o "${f%.*}.avi" -ovc lavc -oac lavc
done

Muista antaa tuolle skriptille suoritusoikeudet: chmod ugo+rx /usr/local/bin/mpegtoavi.

Kirjoitin tuon suoraan testaamatta millään tavalla, joten tuossa voi olla virheitä. Ilmoita jos ei toimi niin korjataan sitten :)

Idea kuulostaa hyvältä! mutta tuli vain erroria

/usr/local/bin/mpegtoavi: line 2: conditional binary operator expected
/usr/local/bin/mpegtoavi: line 2: syntax error near `[...]"'
/usr/local/bin/mpegtoavi: line 2: `[[ $# -lt 1]] && echo "Usage: $0 source.mpg [                                            ...]" && exit 1'

Itellä ei vain ole minkäänlaista kokemusta tuosta niin en osaa korajata tuota

Mika

 

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Re: Pakkausscriptin tekoa
« Vastaus #4 : 09.01.06 - klo:00.42 »
Skriptiin oli näköjään jäänyt yksi pieni kirjoitusvirhe. Nyt pitäisi toimia paremmin.

mihatsu

  • Käyttäjä
  • Viestejä: 77
    • Profiili
Re: Pakkausscriptin tekoa
« Vastaus #5 : 09.01.06 - klo:00.46 »
Skriptiin oli näköjään jäänyt yksi pieni kirjoitusvirhe. Nyt pitäisi toimia paremmin.

Joo nyt toimii kuin unelma! kiitoksia!

mika