トップ «前の日記(2006-09-02) 最新 次の日記(2006-09-05)» 編集

AOISAKURA 日記

2003|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|04|05|06|07|08|09|12|
2013|02|03|05|06|08|09|10|11|
2015|11|
2016|12|
2017|03|08|
2018|01|03|06|
2019|05|07|09|10|
2020|01|02|03|
2021|03|07|
2022|06|
2023|11|
2024|07|

pixiv / twitter / github

bluesky / misskey / pawoo

※発信する情報は、個人の見解・意見であり、所属する会社の見解・意見ではありません。


2006-09-03 悪い夢見た [長年日記]

_ [media][linux] ffmpegでPSP向け動画変換 - 自動変換スクリプト

以下のようなスクリプトを作成し、cronで一時間毎に起動するように設定。空行だけのコメントはtdiaryの制限から付けているもの。

#! /bin/sh
#
cd /usr/local/share/RDService
#
# lock処理
if [ -e lock ] ; then
        exit
else
        touch lock
fi
#
for i in *.mpg
do
        # 現在ダウンロード中のファイルの場合、処理対象外
        mid_flow=$(lsof "$i")
        if [ ${#mid_flow} != "0" ] ; then
                continue
        fi
        #
        name=${i%%.mpg}
        dst_file="$name".mp4
        /usr/local/bin/ffmpeg -y -i "$i" -title "$name" -bitexact -vcodec xvid \
        -coder 1 -g 240 -s 320x240 -r 29.97 -b 768 -acodec aac \
        -ac 2 -ar 44100 -ab 48 -f psp "$dst_file"
        #
        chown user:group "$dst_file"
        mv "$dst_file" /home/target_dir
        rm "$i"
done
#
# lock解除
rm lock

途中、cronで/usr/local/binにPATHが通ってなくて、動いたように見えなくて焦った。

あと、クライアントの都合で日本語をEUC-JPに統一するために、RDServiceのシェルスクリプトで文字コード設定。そして、デーモン起動するようにさせて終わり。

#! /bin/sh
export LANG=ja_JP.eucJP
export LC_ALL=ja_JP.eucJP
java -jar /usr/local/share/RDService/RDService.jar -s -p 5500:5509 \
 -d /usr/local/share/RDService

SuSEだと、startproc関数を使ってデーモンとして起動させるのね。

自分用のスクリプトなので同時実行性やパーミッションその他諸々はあんま考慮してない。あとは、タイトルによってffmpegに渡すオプションを変化させられるようにしたいのぅ。

(追記):間違ってるところがあったので修正