adott konyvtarban levo mpeg2 video es mpeg 1 audio allomanyok mux-olasa

Sziasztok,

Bevallom átlagfelhasználó vagyok de most adódott egy feladatom otthon:

van egy könyvtáram amelyben nagyon sok régi családi felvétel található, de a videó és az audó állomány külön-külön vannak, de azonos névvel csak eltérő kiterjesztéssel találhatóak meg (.mpg, .mpa) és ezeket kellene egy mpeg2 kompatibilis stream-é mux-olni (egy mpg file-ben van a video és audio is).
Odáig eljutottam, hogy felhetően az mcoder vagy ffmpeg tudja ezt megtenni (mux), de mivel több mint 100 db állományról van szó, ezért egyesével ennek nincs értelme neki látni ....

a fentiek kapcsán kérek segítséget a nálam járatosabbaktól ...

előre is köszönök mindent,

T

(friss Ubuntu van fent, az alatt menne a dolog)

Hozzászólások

ezt még egy sorba is beleteheted
ha kész a konvertáló dolog, akkor foglald egy ciklusba, ami végmegy az összes file-odon
ha van szóköz a nevekben akkor még kell kicsit csiszolni rajta, de ha nincs, akkor bk ennyi


for vfile_name in $(ls *.mpg); afile_name=$(echo $vfile_name | cut -d. -f1)".mpa"; saját rutin; done

így szápen az összes fileon ami mpg végmegy, hibaellenőrzést se feletsed el

Ez szep, de kicsit tul van bonyolitva (es szintaktikailag sem korrekt, hianyzik a "do" :


for vfile_name in *.mpg ; do afile_name=${vfile_name%mpg}mpa ; sajat_muxolo_rutin ; done

Amugy ha korrekt formaban van az mpg es az mpa, akkor az mplex / tcmplex / tcmplex-panteltje nevu parancsok valamelyike kell neked (es pl. a transcode nevu csomag kornyeken keresgelj)

Köszönöm a segítséget, kérek még egy kicsit hogy végleg összeálljon a dolog

az adott könyvtárban lévő file-ok pl. 1.m2v , 1.mpa, valami2.m2v, valami2.mpa, stb .. (m2v video, mp2 audio stream,)

a muxolás egy adott file-nál így néz ki: mplex -f 3 -o valami2.mpg valami2.m2v valami2.mpa (tehát a végeleges mpg neve ugyanaz lesz mint a video és audio stream-é)

a fentiek alapján a végleges script ami az adott könyvtroban lévő file-okon végig fut így fog kinézni?

for vfile_name in *.m2v ; do afile_name=${vfile_name%mpg}mpa ; mplex -f 3 -o vfile_name%.mpg vfile_name%.m2v vfile_name%.mpa ; done

Tedd az egészet pl. sajat_mux.sh scriptbe:


#!/bin/bash

for vfile_name in *.m2v; do
    afile_name=${vfile_name%m2v}mpa
    output_filename=${vfile_name%m2v}mpg
    mplex -f 3 -o output_filename vfile_name afile_name
done

--
Elméletileg nincs különbség elmélet és gyakorlat között. Gyakorlatilag van.

Köszönöm, kipróbáltam de hibával fut le:

**ERROR: [mplex] Unable to open file vfile_name for reading

laikusként úgy tünik mintha az mplex nem file név string-eket kapna bemetként hanem a output_filename vfile_name afile_name változókat sima konkrét névként kezelné.

mi lehet a gond?