Kirjoittaja Aihe: Skripti tietokoneella tallennetun videon muuttamiseen DivX-muotoon  (Luettu 11154 kertaa)

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Tarvitsisin skriptin jolla saisin muunnettua videon joka on MPEG_TS (transport stream) tallennettu Kaffeinella. Sen pitäisi siis muuntaa videot jotka ovat jossain tietyssä kansiossa (jos niitä on kerralla useampia niin ne kaikki) DivX-muotoon jotta voisin polttaa ne levyt uutta (mielestäni huonoa) DVD-soitinta varten jotta ne voisi katsoa TV:stä.

Tutkin jo vähän mencoderin man sivua, mutta hieman huonoin tuloksin, koska sain selville vain, että se osaa DivXin ja MPEG:een, mutta en miten sillä voi tehdä sen niin sitä en. Niissä pitäisi sitten olla tekstit mukana jos niissä niitä edes on ikinä ollut (eli ylen ohjelmissa pitäisi olla tekstit jos ne ovat muuten kuin suomeksi). Muukin kyllä käy kuin tuo mencoder. Ajattelin vain, että se voisi olla sopiva.

PS: En ollut ostamassa sitä soitinta.
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

jori52

  • Käyttäjä
  • Viestejä: 2047
    • Profiili
Tarvitsisin skriptin jolla saisin muunnettua videon joka on MPEG_TS (transport stream) tallennettu Kaffeinella. Sen pitäisi siis muuntaa videot jotka ovat jossain tietyssä kansiossa (jos niitä on kerralla useampia niin ne kaikki) DivX-muotoon jotta voisin polttaa ne levyt uutta (mielestäni huonoa) DVD-soitinta varten jotta ne voisi katsoa TV:stä.

Tutkin jo vähän mencoderin man sivua, mutta hieman huonoin tuloksin, koska sain selville vain, että se osaa DivXin ja MPEG:een, mutta en miten sillä voi tehdä sen niin sitä en. Niissä pitäisi sitten olla tekstit mukana jos niissä niitä edes on ikinä ollut (eli ylen ohjelmissa pitäisi olla tekstit jos ne ovat muuten kuin suomeksi). Muukin kyllä käy kuin tuo mencoder. Ajattelin vain, että se voisi olla sopiva.

PS: En ollut ostamassa sitä soitinta.

Oisko tuosta linkistä apua

http://www.linux.com/articles/56642

En nyt osannu oikein sitä liittää .

Terveisin jori52 :)
Linux counter #348392
 Asus G750JW ja ubuntu 13.10

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Hmm...tuo on flasheille, mutta eiköhän se pikku muokkauksella toimi...
Koodia: [Valitse]
#!/bin/sh

if [ -z "$1" ]; then
  echo "Usage: $0 {-divx|-xvid} list_of_flv_files"
  exit 1
fi

# video encoding bit rate
V_BITRATE=1000

while [ "$1" ]; do
  case "$1" in
    -divx)
      MENC_OPTS="-ovc lavc -lavcopts \
        vcodec=mpeg4:vbitrate=$V_BITRATE:mbd=2:v4mv:autoaspect"
      ;;
    -xvid)
      MENC_OPTS="-ovc xvid -xvidencopts bitrate=$V_BITRATE:autoaspect"
      ;;
  esac
  shift
done

Toimisikohan se näin?
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

UbunTux

  • Käyttäjä
  • Viestejä: 2046
  • KubunTux
    • Profiili
Elämä ei ole näin yksinkertaista YLEn tekstityksien kanssa, koska

mplayer/mencoder ei ymmärä dvb-tekstityksiä.


Suosittelisin pyöräyttämään ProjectX:n läpi. Komentorvin kautta onnistuu (tuosta voi olla apua http://forum.ubuntu-fi.org/index.php?topic=11295.msg110189#msg110189) .

Tuosta saat version, jolla Presettings kohdasta saa vobsubit ulos.
http://www.oozoon.de/progs/projectx/ProjectX-v0.90.04.00.b21-20080108.zip
Nämä voit sitten mencoderilla polttaa kiinni kuvaan.
KDE neon
Uudempaa KDE:tä Ubuntulla

qwertyy

  • Käyttäjä
  • Viestejä: 5779
    • Profiili
Kyselin DVB pakkauksesta aiemmin, tosin en kyllä dvd:lle pakkaamisesta. Tuli todella hyviä vinkkejä käyttäjiltä.
http://forum.ubuntu-fi.org/index.php?topic=14583.0

http://gentoo-wiki.com/HOWTO_Mencoder_Introduction_Guide
ja varsinkin sieltä tänne hyppäävä voi ehkä kiinnostaa sinua.
Using MEncoder  to create VCD/SVCD/DVD-compliant files
http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-vcd-dvd.html#menc-feat-vcd-dvd-lavc

Eikö dvd käytä juuri .vob päätettä subtitlenä? Kerran olen kokeillut olikohan .srt tekstitiedoston liittämistä dvd kiekolle ja sain tavallisen dvd soittimen ymmärtämään niitä.Kyseessä taisikin olla joku (windows) ohjelma joka suostui tekemään muutoksen.
« Viimeksi muokattu: 12.01.08 - klo:18.59 kirjoittanut qwertyy »

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Tjaa...ai mencoder ei osaa ylen tektityksiä... Harmi. Mutta toimisiko tuo laittamani skripti muuten? Tosin ei noilla ylen tekstityksillä kauheasti ole väliä, koska harvoin tulee nauhoitettua ylen ohjelmia, eikä ainakaan ulkomaalaisia semmoisia...
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

UbunTux

  • Käyttäjä
  • Viestejä: 2046
  • KubunTux
    • Profiili
Tjaa...ai mencoder ei osaa ylen tektityksiä... Harmi. Mutta toimisiko tuo laittamani skripti muuten? Tosin ei noilla ylen tekstityksillä kauheasti ole väliä, koska harvoin tulee nauhoitettua ylen ohjelmia, eikä ainakaan ulkomaalaisia semmoisia...
ProjectX, jos haluat pitää äänen kuvan samassa tahdissa.
KDE neon
Uudempaa KDE:tä Ubuntulla

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Aha, no pitä koittaa sitä sitten, mutta vasta huomenna...

EDIT: Nonni...
Koodia: [Valitse]
tomppeli@tomppeli-laptop:~/Ohjelmientiedostoja/ProjecX$ java -jar ./ProjectX-v0.90.04.00.b21a-20080108.jar
Version: ProjectX 0.90.04.00.b21a/08.01.2008
Reading GUI-Switch...
Reading Help Switch...
Reading Config File Switch...
Start with GUI...
Loading last Config or Standard File...
ini load error: java.io.FileNotFoundException: /home/tomppeli/Ohjelmientiedostoja/ProjecX/X.ini (No such file or directory)
Loading Language -> 'en'

ProjectX 0.90.04.00.b21a/08.01.2008 OoZooN.TV Edition , User: tomppeli


TERMS AND CONDITIONS:
- this is a free Java based demux utility.
- It is intended for educational purposes only, as a non-commercial test project.
- released under the terms of the GNU GPL.
- there is NO WARRANTY of any kind attached to this software.
- use it at your own risk and for your own education.
- compiled by OoZooN.
- not supportet by the author.
- a service of http://www.oozoon.tv.

Java Environment
13. tammikuuta 2008    klo 13.52.09
java.version    1.7.0
java.vendor     Sun Microsystems Inc.
java.home       /usr/lib/jvm/java-7-icedtea/jre
java.vm.version 1.7.0-b21
java.vm.vendor  Sun Microsystems Inc.
java.vm.name    IcedTea 64-Bit Server VM
java.class.vers 50.0
java.class.path ./ProjectX-v0.90.04.00.b21a-20080108.jar
os.name Linux
os.arch amd64
os.version      2.6.22-14-generic
ini.file        /home/tomppeli/Ohjelmientiedostoja/ProjecX/X.ini
ext.disk.access disabled or library not found
user.language   en
user.name       tomppeli
user.home       /home/tomppeli

quick CL usage:
Note: CL doesn't load the GUI components, except with switch [-gui]
<without options>  ...starts the GUI
switches and inputfiles can be in any order

options:
[-ini <path + inifile>] ..use that specified iniFile instead of the standard
[-dvx1] ..create a .d2v ProjectFile on demux
[-dvx2] ..create a .d2v ProjectFile + .ac3.wav (RIFF WAVE Header)
[-dvx3] ..create a .d2v ProjectFile + .mpa.wav (RIFF WAVE Header)
[-dvx4] ..create a .d2v ProjectFile + .ac3.wav + mpa.wav (RIFF WAVE Header)
[-out <path>] ..use that specified directory for output
[-name <filename>] ..use that specified filename for output
[-cut <file>] ..use that text based file as cutpoint list
[-chp <file>] ..use that text based file as chapterpoint list
[-id <tokens>] ..use only these (P)IDs, separated by comma ","
[-gui] ..display the GUI using all given CLI options
[-log] ..write the normal logfile
[-saveini] ..save changes made bei CLI in active .ini
[-split <xxx>] ..split output at xxx MB
[-demux, -tom2p, -topva, -tovdr, -tots, -filter] ..action types

Loading Basic Classes...
Reading CLI Switches...
Preparing GUI (if enabled)...
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00002b8efb8d7e11, pid=10067, tid=1074792784
#
# Java VM: IcedTea 64-Bit Server VM (1.7.0-b21 mixed mode linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x5c9e11]
#
# An error report file with more information is saved as:
# /home/tomppeli/Ohjelmientiedostoja/ProjecX/hs_err_pid10067.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
Aborted (core dumped)
tomppeli@tomppeli-laptop:~/Ohjelmientiedostoja/ProjecX$

Jos nyt olen käsittänyt oikein tuon asennuksen... Saa kertoa miten itse asenti...
« Viimeksi muokattu: 13.01.08 - klo:13.53 kirjoittanut Tomppeli »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Tutkin myös täällä olleita juttuja. Ainakin täällä oli kehuttu VLC:een nopeaa dekoodausta. Mutta mikä pitäisi laittaa ääni koodekiksi. Minulle riittää, että saan nopeasti (ja mielellään helposti) nuo DivX-muotoon joka näkyy ja kuuluu hyvin tuolla DVD-soittimella. (harmi kun se ei ymmärrä kuin DVD-levyjä ja DivX-videota, sekä joitain ääni ja video tiedostoja). Ja sitten mikä tulee tuohon "Encapsulation format" kohtaan.

EDIT: Näköjään Avidemux voisi olla vaihtoehto, mutta siellä ei ole DivX vaihtoehtoa. Onko muuten XviD:llä ja DivX:llä jotain eroa?
« Viimeksi muokattu: 13.01.08 - klo:14.10 kirjoittanut Tomppeli »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
HA HAA! Avidemuxilla sain toimimaan tuon pakkaamalla kuvan Xvidillä ja äänet Lamella (mp3) ja sitten AVI:ksi. Mutta jostain syystä ei voi kelata. Ja poltto (käytin k3b:tä) ei onnistunut kunnolla. Valitti jostain jutusta, että asema ei tuo jotain juttua ja siksi ei voi polttaa Multisessioniksi, vaikka mielestäni valitsin "Polta levy kerralla" ja sitten lopussa tuli virhe, mutta ilmeisesti leffa meni kyllä kunnolla levylle.
Toimii mainiosti nyt, mutta jos saisi skriptin niin parempi.
« Viimeksi muokattu: 14.01.08 - klo:16.31 kirjoittanut Tomppeli »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

qwertyy

  • Käyttäjä
  • Viestejä: 5779
    • Profiili
Javan sain itse toimiin tekemällä seuraavat. Auttoi juuri Azureukseen ja ProjectXään.
https://bugs.launchpad.net/ubuntu/+source/icedtea-java7/+bug/152362/comments/19

Tuo VLC kaatui itsellä ainakin jos ei vetaise ProjectX läpi ensin. Mencoderilla sain kuitenkin meneen muutaman kokeilun läpi ilman ProjectX:ää, niin että jopa ääni/kuva pysyi synkassa (luultavasti hyvä säkä). VLC vaikutti kyllä melko nopealta ennen kaatumista ja tarkoitus olisi kokeilla vielä sitä nyt kun tuo Java on kunnossa.

VLC Encapsulation kohtaan kait vaikuttaa eniten se mihin muotoon haluat videon/äänen pakata? _Luulisin_ että helpoin tapa on tehdä täysin kuten tässä
http://marviner.homelinux.com/dvb-encoding.ogg
Eli tuo tekee käsittääkseni täysin DVD-video yhteensopivan tiedoston ja sen polttaisin K3B:llä "New VideoDVD project" kohdalla heittämällä tuon tehdyn tiedoston VIDEO_TS kansioon. Luulisin että näin tekemällä toimii sama missä dvd soittimessa, korjatkaa jos olen väärässä.


Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Tjuu toimiihan se, mutta minun olisi tarkoitus saada tarpeeksi helposti ja nopeasti nuo näytettyä tv:stä. (Pitänee hankkia kaapelit että saa tietsikan kiinni TV:seen tosin sitten ei voi tehdä samalla kun muut katsovat jotain TV:stä). Siis olisi hyvä jos saisi kaikki yhden kansion tiedostot muunnettua DivX-muotoon. Niissä kun menee niin pitkään niin olisi hyvä jos voisi tehdä sen monelle tiedostolle peräkkäin ilman vahtimista, vaikka yön aikana.
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

qwertyy

  • Käyttäjä
  • Viestejä: 5779
    • Profiili
Kaikkia noita ohjelmia voi käsittääkseni ohjata riviltä ja siis mahdollista tehdä skripti.

UbunTux

  • Käyttäjä
  • Viestejä: 2046
  • KubunTux
    • Profiili
Pikaisesti väsäsin. Ei ole testattu. Xvid on parempi ja ilmeisesti  yhteensopiva DiVX:n kanssa. Osaa Ylen tekstit, jos PorjectX on asetettu ne tuuppaamaan ulos.

Koodia: [Valitse]
#!/bin/bash
tiedosto=$1
PAIKKA=`dirname "$1"`
cd $PAIKKA

#Polku ProjectX:ään
PX=
#Tallennetut asetukset
XINI=
#Ajetaan ProjectX komentoriviltä- ei leikkauksia
java -jar $PX "$tiedosto" -ini $XINI

#Tiedostopääte poistetaan
tiedosto="${tiedosto%.m2t}"

if [ -f $tiedosto.m2v ]
then
        #Muxataan
        mplex -f8  "$tiedosto".m2v "$tiedosto".mp2 -o "$tiedosto".mpg && rm "$tiedosto".m2v "$tiedosto".mp2
      #Enkoodaaan
      if [ -f $tiedosto.sup.sub ]
      then
       mv $tiedosto.sup.sub $tiedosto.sub
       mv $tiedosto.sup.idx $tiedosto.idx
       mencoder $tiedosto.mpg -ovc xvid -xvidencopts bitrate=1500 -oac copy -subfile $tiedosto.sub -o $tiedosto.avi
      else
       mencoder $tiedosto.mpg -ovc xvid -xvidencopts bitrate=1500 -oac copy -o $tiedosto.avi
       fi
else
echo jokin meni pieleen
fi
« Viimeksi muokattu: 13.01.08 - klo:19.10 kirjoittanut UbunTux »
KDE neon
Uudempaa KDE:tä Ubuntulla

qwertyy

  • Käyttäjä
  • Viestejä: 5779
    • Profiili
^ Näyttää ainakin hyvältä ja toimivalta. Taidan kokeilla tuota pöytäkoneella kun on aikaa.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Juu voisin kokeilla tuota skriptiä jos toimisi tuo ProjectX... :(
Siis miten tuota käytettään oikeastaan sitten jos saan tuon ProjectX:än toimimaan?
« Viimeksi muokattu: 14.01.08 - klo:16.32 kirjoittanut Tomppeli »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

UbunTux

  • Käyttäjä
  • Viestejä: 2046
  • KubunTux
    • Profiili
Millä javalla sitä yrität käytää?
Koneelle voi kyllä asentaa useampiakin java masiinoita. Jos sinulla on icedtea käytössä niin kokeile asentaa mukaan sun java 6.

Jos haluaa käyttää jotain tiettyä javaa niin se tehdään esim näin
 /usr/lib/jvm/java-7-icedtea/bin/java -jar  /täällä/on/ProjectX
Ne muutkin javat löytyvät /usr/lib/jvm/  varmaankin hakemistosta


Tai itseasiassa kokeilepa käskytää sitä ensin noin  :P ennen lisäoperaatioita.
KDE neon
Uudempaa KDE:tä Ubuntulla

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Ei toimi ainakaan tuolla...sillä nimittäin kokeilin viimeksi...

EDIT: Juhuu! Toimii kutosella.
Koodia: [Valitse]
/usr/lib/jvm/java-6-sun/jre/bin/java -jar ProjectX.jar

Muokkasin tuon PX=kohdan sopivaksi ja javan oikeaksi.
Eli annappas käyttöohjeita skriptillesi. Siis mitä kirjoitan päätteeseen esim. Kiitos... :)

EDIT: Niin ja yksi kysymys: Tekeekö tuo jotain sille alkuperäiselle tiedostolle, koska olisi parempi jos se säästäisi sen.
« Viimeksi muokattu: 14.01.08 - klo:17.10 kirjoittanut Tomppeli »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

UbunTux

  • Käyttäjä
  • Viestejä: 2046
  • KubunTux
    • Profiili
Alkuvalmistelut
ProjectX: PreSettings
Asetukset  jotenkin noin. VobSub asetus on tärkeä.

Sitten tallennat ne asetukset. Se tekee X.ini tiedoston.
Täytät sitten nuo PX ja XINI  oikein. Ei välilyöntejä esim. PX=/täällä/ProjectX.jar
Vaihda javan tilalle se mikä siis toimi.
Asenna mjpegtools

Varsinaisesti itse skripti:
Anna sille skriptille suoritusoikeudet.
chmod +x skripti
./skripti /home/sinä/Tallennukset/video.m2t

Ai niin se ei tuhoa alkuperäistä.  Mutta jos se tuottaa hyvän mpeg tiedos ton niin säästä se mpeg ennemmin kuin tuon m2t.
« Viimeksi muokattu: 14.01.08 - klo:17.37 kirjoittanut UbunTux »
KDE neon
Uudempaa KDE:tä Ubuntulla

UbunTux

  • Käyttäjä
  • Viestejä: 2046
  • KubunTux
    • Profiili
Vähän fiksailtu, koska mplex ja välilyönnit ei tykkää toisistaan.  Tekstitysongelma tuli vastaan testatessa, mutta homma selvitetty.

Eli asenna mjpegtools ja dvdauthor

Koodia: [Valitse]
#!/bin/bash
tiedosto=$1
PAIKKA=`dirname "$1"`
cd $PAIKKA

#Muutetaan  mahdollisesti tiedoston nimi. Mplex ja välilönnit :(
uusi=`echo "$tiedosto" | sed -e 's/  */_/g' -e 's/_-_/-/g' -e  's/ä/a/g' -e  's/ö/o/g' -e 's/Ä/A/g'   -e 's/Ö/O/g' `
mv "$tiedosto" $uusi
tiedosto="$uusi"

#Polku ProjectX:ään
PX=
#Tallennetut asetukset
XINI=
#Polku Javaan
JAVA=

#Ajetaan ProjectX komentoriviltä- ei leikkauksia
$JAVA -jar $PX "$tiedosto" -ini $XINI

#Tiedostopääte poistetaan
tiedosto="${tiedosto%.m2t}"

if [ -f $tiedosto.m2v ]
then
        echo Muxataan
mplex -f8  "$tiedosto".m2v "$tiedosto".mp2 -o "$tiedosto".mpg && rm "$tiedosto".m2v "$tiedosto".mp2
echo muunnetaan
      if [ -f $tiedosto.sup.sub ]
      then
spuunmux $tiedosto.sup.sub
spumux sub.xml < $tiedosto.mpg >  $tiedosto-subit.mpg
mv $tiedosto-subit.mpg $tiedosto.mpg
rm sub.xml sub*.png $tiedosto.sup* "$tiedosto"_log.txt
mencoder $tiedosto.mpg -ovc xvid -xvidencopts bitrate=1500 -oac copy -sid 0 -o $tiedosto.avi
echo video on valmis teksteineen
      else
mencoder $tiedosto.mpg -ovc xvid -xvidencopts bitrate=1500 -oac copy -o $tiedosto.avi
rm "$tiedosto"_log.txt
echo video  on valmis
       fi
else
echo jokin meni pieleen
fi

Muoks hastalavista tekstitysongelma ratkesi!   8)
Tarvitsee dvdauthorin. Lisätty turhien tiedostojen poisto
« Viimeksi muokattu: 14.01.08 - klo:23.47 kirjoittanut UbunTux »
KDE neon
Uudempaa KDE:tä Ubuntulla