29 Apr 2013, 07:25

音楽の速度をコマンドラインから自由自在に操れる!多機能すぎるオープンソースの音楽再生ソフト『VLC メディアプレイヤー』

音楽の速度をコマンドラインから操作する方法を探していたら、いいソフトを見つけたので紹介。

VLCメディアプレーヤー

VLCメディアプレーヤーはいわゆる音楽再生用のメディアプレイヤー。音楽再生に必要な機能はある程度実装されているようだ。

特徴は、マルチプラットフォーム、対応コーデックが豊富ということだが、自分がVLCで特に気に入ったのは、

  • オープンソースであること
  • 豊富すぎるコマンドラインインタフェース(やりたいことは全てできそう)

である。

VLCを使ってみる

ダウンロードは以下から。インストーラを立ちあげてインストール。

VideoLAN – オープンソースのビデオフレームワークであるVLCメディアプレイヤーの公式ホームページ

外見はこんな感じ。

skitch.png

速度調整をするためには、ツールバーの[表示] > [ステータスバー]にチェックを入れる。下に[1.00x]という表示が現れるので、マウスでドラッグして変更する。再生中の音楽をリアルタイムで変更できる。0.01単位で変更できるようだ。

また、ネットワーク上のファイルを開くことができるようだ。ツールバーの[メディア] > [ネットワークストリームを開く]を選択して、URLを入れる。youtube の再生もできる。

skitch.png

 

コマンドラインからVLCを操作する

環境

  • Windows 7 64bit(ただし、32bit版をインストールした)

コマンドラインからVLC起動

まずは基本から。コマンドラインからVLCを立ち上げるには、まずはコマンドプロンプトを起動。インストールしたディレクトリに移動して、vlcに再生したいファイルを引数にして実行する。

C:\Users\TSUNEMICHI>cd "C:\Program Files (x86)\VideoLAN\VLC"
C:\Program Files (x86)\VideoLAN\VLC>vlc Concerto_for_Orchestra.m4a

VLCをRCインターフェイスで操作する

VLCをRCモードで立ち上げることで、コマンドラインからいろいろと操作できる。

$ vlc -I rc [ファイル名やディレクトリ名]

で起動すると、新しいコンソールが立ち上がる。ここにコマンドを打ち込んで、いろいろと操作する。対応コマンドは helpと打ちこむとずらずらと出てくる。以下の操作がコマンドラインからできる。

help

+—-[ リモートコントロールコマンド ]

|

| add XYZ … … … … . XYZ をプレイリストに追加

| enqueue XYZ … … . . XYZをプレイリストにキューイング

| playlist … … . 現在のプレイリスト中にある項目を表示

| play … … … … … … . . ストリーム再生

| stop … … … … … … . . ストリーム停止

| next … … … … … . 次のプレイリストの項目

| prev … … … … … . 前のプレイリストの項目

| goto … … … … . インデックスにある項目に移動

| リピート [オン|オフ] … プレイリストのリピートの切り替え

| loop [on|off] … … . . プレイリストループの切り替え

| ramdom [on|off] … … … . ランダム再生の切り替え

| clear … … … … … . プレイリストのクリア

| status … … … … . . 現在のプレイリストの状態

| title [X] … … … 現在の項目のタイトルを設定/取得

| title_n … … … … . 現在の項目の次のタイトル

| title_p … … … … . 現在の項目の前のタイトル

| chapter [X] … … . 現在の項目のチャプターを設定/取得

| chapter_n … … … . . 現在の項目の次のチャプター

| chapter_p … … … . . 現在の項目の前のチャプター

|

| seek X … … . 再生中インスタンスのジャンプ先指定(秒)

| pause … … … … … . . 再生停止の切り替え

| fastforward … … … … … . 最大倍率に設定

| rewind … … … … … … . 最低倍率に設定

| faster … … … … … ストリームの早送り再生

| slower … … … … … . ストリームの遅延再生

| normal … … … … … . ストリームの通常再生

| frame … … … … … . . フレームごとに再生

| f [on|off] … … … … . . 全画面表示の切り替え

| info … … … … … . 現在のストリームの情報

| stats … … … … … … . 統計情報の表示

| get_time … … … . ストリームの最初からの経過時間

| is_playing … … … . ストリーム再生中:1, その他:0

| get_title … … … . . 現在のストリームのタイトル

| get_length … … … … . 現在のストリームの長さ

|

| volume [X] … … … … … . 音量の設定/取得

| volup [X] … … … … 音量を X ステップ分上げる

| voldown [X] … … … . . 音量を X ステップ分下げる

| adev [X] … … … . オーディオデバイスの設定/取得

| achan [X] … … … オーディオチャンネルの設定/取得

| atrack [X] … … … オーディオトラックの設定/取得

| vtrack [X] … … … . . ビデオトラックの設定/取得

| vratio [X] … … . . ビデオのアスペクト比の設定/取得

| vcrop [X] … … … ビデオのクロッピングの設定/取得

| vzoom [X] … … … … . ビデオズームの設定/取得

| snapshot … … … . . ビデオスナップショットを撮る

| strack [X] … … … … 字幕トラックの設定/取得

| key [hotkey name] … … ホットキー操作のシミュレート

| menu …[on|off|up|down|left|right|select] メニューの使用

|

| help … … … … … . . このヘルプメッセージ

| longhelp … … … … … 長いヘルプメッセージ

| logout … … … … 終了する(ソケット接続の場合)

| quit … … … … … … … . VLCを終了

|

+—-[ ヘルプの終り ]

さらに、key [hotkey name](ホットキー操作のシミュレート)を使えば、上記にない操作もできる。[hotkey name]に対応する名前は以下のページに載っている。

Hotkeys table – VideoLAN Wiki

速度変更に関わるキーは以下。

  • Faster key-faster 50%速度を上げる
  • Slower key-slower 50%速度を下げる
  • Normal rate key-rate-normal 通常の速度
  • Faster (fine) key-rate-faster-fine 10%速度を上げる
  • Slower (fine) key-rate-slower-fine 10%速度を下げる

たとえば、10%だけ速度を上げる場合は、[key key-rate-faster-fine]と打ち込む。

VLCサーバにコマンドラインから速度変更を依頼する

起動中のVLCにコマンドを送って操作するために、telnet通信を利用することができる。まずは、VLCをサーバとして起動する。[–rc-host [ホストアドレス]:[Port番号]]のオプションをつける。

vlc -I rc –rc-host localhost:8080

そうすると、telnetコマンドでサーバにアクセスすることができる。アクセスしたらコマンドを投げればよい。

telnet localhost 8080

クライアント側からリモートのホストに通信してコマンドを実行するためには、Linuxではこういう書き方もあるみたい。Windowsでも、Cygwinではできたけれども、コマンドプロンプトからだと、やりかたがワカラなかった。

$ (sleep 0.05;echo key key-slower;sleep 0.05)|telnet localhost 8080

2011年11月25日 VLCをショートカットキーからリモート制御する方法 telnet編:FreeBSD Daily Topics|gihyo.jp … 技術評論社

参考リンク