最低限 UNIX / Linux [III]

  1. シェル
    [1.1] シェル (Shell) とは
    [1.2] シェルの役割
    [1.3] 代表的なシェルの紹介
    [1.4] シェルの確認と変更
    [1.5] bash の機能
    [1.6] 環境のカスタマイズ (Bash)
    [1.7] その他のシェル
  1. 最低限 vi
    [2.1] vi とは
    [2.2] ファイルオープン/クローズ
    [2.3] vi の基礎 - 状態遷移
    [2.4] 実践!訓練
    [2.5] vi の基礎 - コマンドモード
    [2.6] vi の基礎 - 挿入モード
    A 参考 [vi の応用]
  1. シェルスクリプト
    [3.1] シェルスクリプト入門
    [3.2] シェルスクリプト応用
    A 参考 [特殊記号の復習]
  1. 本日の課題
    課題
    ヒント
    投稿の前に
    参考情報
<< 情報実験第4回トップへ

4. 本日の課題

課題

  1. 各情報実験機の

    /work/inex_2005_kadai/

    以下のディレクトリに2004年6月から2005年9月までの 人工衛星によって撮影された1時間おきの全球赤外画像(jpeg)が置いてあります.
    ディレクトリ名やファイル名は

    /work/inex_2005_kadai/YYYY/MM/DD/qlYYMMDDhh.jpg
    となっていて, YYYY: 年, MM: 月, DD: 日, hh: 時, を表しています.
    次の一覧から, 自分の情報実験機名に該当する期間の画像を 以下の手順に従って結合し,
    動画(mpeg)ファイルを生成するスクリプトを作成してください.

    joho01: 2004/06
    joho02: 2004/07
    joho04: 2004/08
    joho05: 2004/09
    joho07: 2004/10
    joho08: 2004/11
    joho10: 2004/12
    joho11: 2005/01
    joho13: 2005/02
    joho14: 2005/03
    joho16: 2005/04
    joho17: 2005/05
    joho19: 2005/06
    joho20: 2005/07
    joho22: 2005/08
    joho23: 2005/09


    手順:
    1. まず, /work/以下に次のようなディレクトリを作成してください (userは自分のアカウント名).
      /work/user/
      /work/user/jpg/
      /work/user/mpg/
      • 作成するシェルスクリプトファイルはuser/の下に 置いてください.
      • jpg/は.jpgファイルを格納するために用いてください.
      • mgp/はこれから作成する.mpgファイルを格納するために 用いてください.

    2. 上述のようにファイルは年月日時に対応した名前がつけられています.
      これらのファイルを日付時間順にtmp00000000.jpgから始まる 通し番号に直してください.
      例:
      ql04060100.jpgtmp00000000.jpg
      ql04060101.jpgtmp00000001.jpg
                     :
      ql04060123.jpgtmp00000023.jpg
      ql04060200.jpgtmp00000024.jpg
      (注意)
      • ファイルが通し番号順になっていないと, 次のコマンドでエラーが発生し, 動画ファイルを作成することができません.
      • また, きちんと連番になっていない (数字が続いていない) 場合, そこで途切れてしまい, 1か月分の完成した動画ができあがりません.
      • ファイルが欠けている(ある日時のファイルがない) 場合があるので注意してください. 欠損データのリスト /work/inex_2005_kadai/missing_value.txt を利用しても良いでしょう.
      • 日付が変わるところをうまく処理するのがこの問題の肝です.

    3. ファイル名を通し番号順にしたファイルから動画 (mpeg) ファイルを 作成するには /work/user/ に移動し, 以下のコマンドを使用します.
      jpeg2yuv -f 1 -I p -j ./jpg/tmp%08d.jpg | mpeg2enc  -a 1 -f 3 -b 5000 -F 5 -q 1 -o ./mpg/cloudmovie.mpg
      詳細は省きますが, これは複数の静止画(jpeg)ファイルを結合して 動画ファイル(mpeg)を作成するためのコマンドです.
      • ./jpg/tmp%08d.jpgは通し番号順のファイルを順番に読み込むように 指定している部分です.
      • ./mpg/cloudmovie.mpgは作成される動画ファイル名です.
      • このコマンドを実行するときに自分のいる (シェルスクリプトのある)ディレクトリと.jpgファイルのある位置, .mpgファイルを作成する位置の注意してください.

    4. 動画ファイルができたら以下のコマンドで再生し, 内容を確認します.
      mplayer -speed 1.0 mpg/cloudmovie.mpg
      最後の数値部分で再生速度を変更できます. 例えば, 0.5とすると再生速度が1.0のときの0.5倍になります.

      再生中の操作方法
      一時停止, 再開 Space キー 停止 q キー
      巻き戻し ← キー 早送り → キー
      再生速度アップ ] キー 再生速度ダウン [ キー

      雲の動きがでたらめな変化をすることなく, 滑らかに動いていますか?
      動画の左上の部分に日時が表示されているので, 正しい時系列で再生されていること, 途中で動画が途切れていないこと を確認してください.

  2. スクリプトが完成したら, 以下のものをレポートとして投稿・掲載して下さい.
    1. 作成したシェルスクリプト
    2. シェルスクリプトのファイル名と完成したmpegファイル名(絶対パスで)
      (例: /work/kk/mkcloudmovie.sh, /work/kk/mpg/cloudmovie.mpg)
    3. 完成した動画を見た感想.
    4. 工夫, または苦労した点.
    5. 作業協力者がいれば必ず書く.
    6. 参考文献も掲載すること. (人のレポートを参考にした場合もちゃんと書くこと).

<ヒント>


[レポート投稿の前に]


参考情報

今回は, 高知大学気象情報頁 で公開されている画像を利用して動画作成を行いました. ここでは他にも様々な画像データを入手可能です.


<< 戻る (シェルスクリプト)      最初へ >> (実習の前準備)      情報実験 第4回 のトップへ >>

最終更新日: 2005/10/29 森川 靖大 Copyright © 2005 inex