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.
- 2677 megtekintés
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
- A hozzászóláshoz be kell jelentkezni