
Ubuntu日本語フォーラム

ログインしていません。
Ubuntu13.10で動画再生についての質問です。
タイトルの通りなのですが、totemで動画ファイルを再生させると最期まで動画を再生した後は"Pause"状態になりますが、これをプログラムが終了するようにはできないでしょうか。
一通りオプションを眺めてみたのですが、見つかりませんでした。
gnome-mplayerの"--quit_on_complete"オプションと同等の機能です。
そちらを使ってもいいのですが、そちらはそちらで、画面の左右が見切れる(ファイル側のアスペクト情報が間違っているのかも?)問題や"--ss"オプションで開始時刻を指定しても必ずResumeするかどうか聞かれる等の問題があるのです。
そんなに難しい事をやりたいわけではなくて、
・指定した動画を1回だけ再生する
・動画終了時はプロセスも終了する
・アスペクトは必要なら強制的に指定してもよい
・フルスクリーン
・コントロールボタン等は非表示
・最前面表示
・再生開始は必ずファイルの初めから
・シェルスクリプトから開始
だけなのですが、mplayer、gnome-mplayer、totemのどれも全てを同時に満たせないのです。
vlc等ならできるのでしょうか…
オフライン
kkuma_esd 様へ。
もとより、シェルスクリプトでやるという条件ならば、どうにでもなると思いますが…。
例えば、動画の長さを取得して、totem 再生と同時に kill を sleep で待機させるとか…。
試しに組んでみると
#!/bin/bash
video_length=`mediainfo ${1} | grep Duration | head -n 1 | cut -d ':' -f 2 | sed -e 's/mn/m/'`
totem ${1} &
sleep ${video_length}; kill `pgrep totem`上記のスクリプトの引数に動画パスを入れるだけで実行できます。
mediainfo というプログラムが動画情報を取得しますので、
出力された文字列を弄って、sleep に渡しているだけです。
ただし、totem の起動にかかる時間は考慮されていないので、
このままだと、動画終了ちょっと手前で totem が終了します。
勿論、sleep 時間 + α で解決です。
オフライン
今調べて見ましたが、vlcならできるそうです。
$ vlc hoge vlc://quit --fullscreen
これでどうでしょうか?
$ vlc -H
で網羅的にオプションを見ることができますよ。
オフライン
hellfire様
動画の情報を取得するコマンドがあるのに気が付きませんでした。ありがとうございます。
popopopoon様
有益な情報ありがとうございます。
いずれの方法でも実現は可能そうです。試してみて、また結果を報告したいと思います。ありがとうございました。
オフライン
結局、popopopoon様が教えて下さった、vlcを使う方法でうまくいきました。
hellfire様のmediainfoを使った方法も面白かったのですが、再生を途中で止められた場合等考慮する点があったため、より単純な方法の方を採用する事にしました。
ありがとうございます。
オフライン