ffserverのオプション

ffmpegのおまけツールffserverについて。
ffserver.c を見てみると、マニュアルに記載されている以外にもどうやらオプションがあるらしい。

  • -n ・・・ no_launch。feed用の子プロセスを生成しないっぽい。
    (ってかよく分かってない)
  • -d ・・・ デバッグモード

ffserver.c(Rev.10534) [c] / ffserver.c より抜粋 / int main(int argc, char argv) { //

for(;;) {
    c = getopt(argc, argv, "ndLh?f:");
    if (c == -1)
        break;
    switch(c) {
    case 'L':
        show_banner();
        show_license();
        exit(0);
    case '?':
    case 'h':
        show_help();
        exit(0);
    case 'n':
        no_launch = 1;
        break;
    case 'd':
        ffserver_debug = 1;
        ffserver_daemon = 0;
        break;
    case 'f':
        config_filename = optarg;
        break;
    default:
        exit(2);
    }
}

/* 略 */

return 0;

}[/c] なお 変数 optarg は getopt で定義される外部変数らしい。
GETOPT

文字のあとにコロン (:) が置かれている場合は、オプションには引き数が必要であることを示す。このとき getopt() は、現在注目している argv 要素で、オプション文字に引き続くテキストへのポインタか、あるいは次の argv 要素のテキストへのポインタを optarg に代入する。 2 個連続してコロンが置かれている場合は、そのオプションは引き数をとってもとらなくてもよい。現在の argv 要素にテキストがあれば (つまり、"-oarg" のように、オプション名自身と同じワード内にテキストがある場合)、それが optarg に返される。