Chciałbym dodać kolejną funkcjonalność do mojego skryptu, który wygląda tak:
Kod: Zaznacz cały
#!/bin/bash
find . -name "*.wmv" | while read -r fileName
do
dir="${fileName%/*}" # katalog
name="${fileName##*/}" # nazwa z rozszerzeniem
name="${name%.*}" # nazwa bez rozszerzenia
#ext="${fileName##*.}" # rozszerzenie
mencoder "$fileName" -ofps 30 -ovc xvid -xvidencopts me_quality=6:bitrate=5000:vhq=2:max_bframes=2:bvhq=1:nopacked:noqpel:nogmc:trellis:quant_type=h263:nointerlacing:chroma_me:chroma_opt:hq_ac:nolumi_mask:closed_gop:autoaspect -oac mp3lame -lameopts cbr:br=256:mode=0 -o "${dir}/${name}.avi"
if [ -e ./$name.avi ] ; then
rm -f $name.wmv
fi
done
mencoder -ovc copy -oac copy *.avi -o polaczony.avi
Teraz chciałbym dodać do skryptu następne polecenia, które podzielą film na części, po 700 MB.
Wykorzystam do tego dwa poniższe polecenia:
Kod: Zaznacz cały
mencoder -ovc copy -oac copy -endpos 700mb -o film-CD1.avi polaczony.avi
mencoder -ovc copy -oac copy -ss 0:48:00 -endpos 700mb -o film-CD2.avi duzy_film.avi
-ss czas, w którym ma zostać ucięty poprzedni film lub miejsce, od którego mencoder ma stworzyć druga część filmu
Chciałbym, aby czas rozpoczęcia II części filmu był automatycznie pobierany przez skrypt. W necie znalazłem polecenie, które potrafi sprawdzić czas filmu.
Kod: Zaznacz cały
mplayer -identify film-CD1.wmv -frames 0 -vo null -ao null 2>/dev/null | grep ID_LENGTH
Kod: Zaznacz cały
mplayer -identify film-CD1.wmv -frames 0 -vo null -ao null 2>/dev/null | grep ID_LENGTH
ID_LENGTH=117.43
1. Pobranie nazwy dzielonego filmu z folderu. Automatyczne wstawienie nazwy pierwszej części filmu 'film-CD1.avi' do poniższego polecenia:
Kod: Zaznacz cały
mencoder -ovc copy -oac copy -endpos 700mb -o film-CD1.avi polaczony.avi
3. Wstawienie pobranego czasu z pierwszej części filmu do polecenia drugiego oraz automatycznie dodanie nazwy 'film-CD2.avi' do nowo tworzonej części filmu.
Kod: Zaznacz cały
mencoder -ovc copy -oac copy -ss 0:48:00 -endpos 700mb -o film-CD2.avi polaczony.avi
W dalszej kolejności powyższe czynności będą automatyczne powtarzane aż do podzielenia całego filmu na części.
Na koniec dodam, że nie jestem programistą, aby samodzielnie napisać taki skrypt dlatego proszę o pomoc.
EDIT:
Rozwiązanie znajduje się w tym wątku: viewtopic.php?f=170&t=154203&start=20