video kameráról mod fájlok lementése

Fórumok

A kamerán adott 3 különböző kiterjesztésű fájl:
MOI, MOD, PGI.
Nos a MOD az egyértelmű mert az sima mpeg fájl.
A MOI viszont tartalmazza az adott film felvételi idejét, magyarul: mikor készült, melyik év, melyik hónap, hány óra, hány perc.
Erre már van megoldásom:

#!/bin/bash

months=(none Jan Feb Márc Ápr Máj Jún Júl Aug Szept Okt Nov Dec)

for files in *.MOD
do
bname=`basename ${files} .MOD`
params=(`od -t x1 -j 6 -N 6 ${bname}.MOI | head -1`)
year=$((0x${params[1]}${params[2]}))
mon=$((0x${params[3]}))
day=$((0x${params[4]}))
hour=$((0x${params[5]}))
min=$((0x${params[6]}))

if [ ${hour} -lt 10 ]; then
hour="0${hour}"
fi
if [ ${min} -lt 10 ]; then
min="0${min}"
fi
date_stamp="${year} ${months[$mon]} ${day} - ${hour}:${min} óra"
new_file_name="${year}-${mon}-${day}_${hour}-${min}"
echo ${date_stamp} > ${files}.txt
#mv ${files} ${new_file_name}.mpeg
done

Ezt a kis scriptet szeretném tovább bővíteni.

A kamerán az alábbi struktúra található:
SD_CAM (főmappa)
PRG001 (mappa)
MOV001.MOD
MOV002.MOD
MOV001.MOI
MOV002.MOI
PRG001.PGI
PRG002 (mappa)
MOV001.MOD
MOV002.MOD
MOV001.MOI
MOV002.MOI
PRG002.PGI
...
Tehát az egy mappába való ömlesztés nem lehetséges, mert azonosak a fájlnevek.
Szeretném ha az összes SD_CAM mappában lévő MOI, és MOD fájlt feldolgozni.
Nem lenne hátrány ha a MOI fájlból kiolvasott és a txt fájlban eltárolt dátumot rá tudnám olvasztani az mpeg fájlra.
Az ffmpegnek korábban volt ilyen opciója, de a vhook alrendszer elavultsága miatt törölve lett.
A nálam telepített ffmpeg-0.7.8-ban már nincs ilyen. De a libavfilter -vf drawtext sem működik.

A MOD fájlra visszatérve a sima átnevezés nem elég, mert a képarány nem jó, tehát módosítani kell az mpeg fájlon:

ffmpeg -i ${files) -deinterlace -vcodec mpeg2video -b 9000k -acodec libmp3lame -ab 128k -aspect 16:9 ${new_file_name}.mpeg

A 256k-s hangot is le kéne csökkentenem 128k-ra. Az opciót tudom, de látom nem úszom meg az ffmpeg fordítását, mert ebben az ffmpeg változatban nem működik a libmp3lame opció. Vagy megváltozott. Ezt megoldom.

Amiben segítséget kérnék:
Az almappákban lévő fájlok feldolgozása, mert szerintem a find erre nem jó.
A MOI fájlokból kimentett dátum ráégetése az mpeg fájlra, vagy avi fájlra. De mivel dvd-készül majd belőle, így mpeg fájlra kell elsősorban.

Hozzászólások

Nos odáig eljutottam hogy az általam bővített script az almappákban lévő összes fájlt feldolgozza, és átmozgatja egy megadott másik mappába. Viszont itt kérnék egy kis segítséget a szűrést illetően.

Az elkészült fájlok ilyen neveket kapnak:
MOV001.MOD_2009-6-21_13-27.mpeg
MOV002.MOD_2009-6-21_17-09.mpeg
MOV002.MOD_2009-6-25_10-45.mpeg
MOV003.MOD_2010-5-20_12-13.mpeg
MOV005.MOD_2010-6-30_12-18.mpeg
MOV00A.MOD_2010-6-30_11-19.mpeg

A sed-hez nagyon nem értek, és szvsz az kell hozzá, bár lehet hogy awk-kal is meglehet oldani. Szeretném szétválogatni illetve átnevezni az elkészült fájlokat.
A scriptnek létre kellene hoznia az adott évet, azon belül az adott hónapot, és abban meg időrendi sorrendbe téve kellene a fájlokat átnevezni.
Valahogy így:

2009/ (mappa - év)
06/ (almappa - június)
001_2009-6-21_13-27.mpeg
002_2009-6-21_17-09.mpeg
003_2009-6-25_10-45.mpeg

2010/ (mappa)
05/ (május)
001_2010-5-20_12-13.mpeg

06/ (június)
01_2010-6-30_11-19.mpeg
02_2010-6-30_12-18.mpeg