VLCメディアプレーヤー

VLCメディアプレーヤー（VLC media player, VideoLAN Client）は、クロスプラットフォームで動作するメディアプレーヤーである。非常に多くのメディアファイル用コーデックが内蔵されており、動画ファイルや音声ファイルなど多くのメディアファイルを再生、表示することができる。GPL下で公開されているフリーソフトウェアである。

概要 
VLCメディアプレーヤーは、フランスの名門校であるエコール・セントラル・パリの学生らによって、VideoLANプロジェクトの一部として開発された。「VLC」とは、「Video LAN Client」の頭文字・略称である。

VLCメディアプレーヤーは、コーデックを内蔵し、DVD-Video、ビデオCDの他、さまざまなストリーミングプロトコルやファイルフォーマットをサポートしている。

広帯域ネットワーク上のIPv4ないしIPv6におけるユニキャスト、マルチキャストのストリームのサーバとしても使われる。

内蔵されているのは、FFmpegプロジェクトのlibavcodecコーデックライブラリである。暗号化されたDVD-Videoの再生を扱うためには、libdvdcssDVD暗号復文ライブラリを用いている。

特徴 
VLCメディアプレーヤーの大きな特徴は、対応するコーデックの数が多いことである。

コーデックとは、データの圧縮・伸張（解凍）を行ったり、符号化方式を使ってデータのエンコード（符号化）と デコード（復号）を双方向で行ったりするプログラムである。

現在、世界のメディアプレイヤーの中で、VLCメディアプレーヤーの対応するコーデックの数の多さは、群を抜いている。

コーデックは「VLCメディアプレーヤー」の中に内蔵されており、別途入手する必要はない。

また、VLCメディアプレーヤーはネットワーク上のサーバのファイルを再生するためのクライアントソフトとして開発されたため、ブラウザや端末上からでも比較的簡単にストリーミング再生などを行うことができる。ポッドキャストにも対応している。

上記のクライアントのような使い方をしない大半のユーザはQtを使用したシンプルなGUIから操作する。
VLCに対して設定できる項目は非常に多い。そのため、画面をシンプルにみせるようにした設定画面が用意されている。

QtのGUIはスキンと呼ばれるもので見た目を自在に変更できる。スキンはVLCの公式ページなどでダウンロードできる。

VLCメディアプレーヤーはポータブルアプリケーションとしても使うこともできる。

脆弱性 

VLCメディアプレーヤーは今までに多くの脆弱性が報告されているが、これはセキュアプログラミングに対する関心が低かった頃に開発されたことに関係すると思われる。

VLCメディアプレーヤーのソースコードを見るかぎり、「バージョン3.0.16」においても根本的な解決がなされていない。問題は以下の通りである。

 sscanf, strcpyなど、バッファオーバーランを起こし得るとして現在では使用が避けられる、安全でない文字列操作関数がVLCに多数使われている。これらの関数はヌル終端文字列を処理することを前提としており、もし文字列が０で終わらないよう細工された長大な動画があったとすると、CPUが例外処理を起こすまで文字列を操作し続けることになる。 (例:  vlmshell.c,  cpu.c, dirs.c, objects.c, text_style.c, update.c, update_crypt.c, vout_intf.c, thread.c  等)
 対応OSをWindows専用と限定するのであればsscanf_sなど安全を考慮した代替関数があるが、VLCはクロスプラットフォーム故にPOSIX関数からの置き換えは行われていない。

よって、VLCの使用にあたってはリスクが伴う点に留意すべきである。

2022年5月9日、PC Matic個人版の日本人利用者が、PC Maticと他社セキュリティソフトの両方がインストールされた状態の端末において、何者かによって「VLC media player」の深刻な脆弱性を悪用され、Windowsの「VNC」が勝手にインストールされ、そして、自分の端末を何者かによって遠隔操作されるという事案が発生した。

その時、日本人利用者はその遠隔操作に気がつき、画面上で勝手にエクスプローラーを操作されることに違和感を感じて、即座にイーサネットケーブルを抜いて、事なきを得たという。

4月5日にも、VLC media playerは「Cicada 」( 他の呼称:APT10、Stone Panda、 Cloud Hopper)によって、そのVLCの深刻な脆弱性を悪用された。

「Cicada」（別名、APT10）とは、中国政府の関与が指摘されているサイバー犯罪集団である。日本政府は2018年12月に外務報道官談話を発表し、日本が中国を拠点とする「Cicada」（別名、APT10）から攻撃を受けていることを明かし、「Cicada」（別名、APT10）の攻撃を厳しく非難した。

「Cicada」（別名、APT10）によるVLCを使った攻撃を報告したのはSymantecの研究グループで、その攻撃は2021年から行われた可能性があるという。

その報告によれば、「Cicada」（別名、APT10）の攻撃の手口は、まず

 正規のVLCのエクスポート機能を悪用して、標的のPCでカスタムローダーをひそかに起動する。
 その次に、一般に広く利用されているWindowsの「VNC」（Virtual Network Computing）ツールを使ってリモート制御を確立していく。
 その後、検出の回避やシステムのスキャン、悪意のある他のツールのダウンロード、外部の C2（コマンド＆コントロール）サーバとの通信の確立などを行う。
 そして、自分たちの標的とするシステムを自分たちの完全な制御下に置いていく。

というものである。

「Cicada」（別名、APT10）は、以前は日本に関連した企業を中心に標的にして攻撃していたが、最近のVLCを用いた攻撃の被害者は、アメリカ、カナダ、香港、トルコ、イスラエル、インド、モンテネグロ、イタリア、などの政府機関、司法組織、宗教組織、非政府組織（NGO）にも広がっている。また、攻撃する時は、一部の被害者のネットワークに9か月という長い時間をかけて侵入しているという。

トラブル

インドでブロック 
VLCの公式ウェブサイトがブロックされ、インド政府に法的通知を送ったことが報じられた。

VLCになりすますマルウェア配布ページの削除をGoogleが拒否 
なりすましサイトの除外を拒否したと告発。

他のプログラムからVLCを使う 
他のプログラムからVLCの機能にアクセスするためのAPIが用意されている。

API
VLCのコーデックはCで書かれたlibvlcというプログラムに内蔵されており、C・C++・C#からアクセスできる。JavaScript、Python、Javaなどを使ってもVLCにアクセスできる。

ブラウザ プラグイン
かつて、Windows、LinuxなどのプラットフォームでNPAPIプラグインを提供していた。これはQuickTime、Windows Media、MP3、Oggなどが埋め込まれたウェブコンテンツをAppleやマイクロソフトのツールに依存せず再生するためで、ブラウザではFirefoxを含むMozillaアプリケーション、Safari、Opera、Google Chrome、Netscapeに対応していた。Adobe Flashも見ることができた。Internet Explorerにもバージョン0.8.2以降はActiveXプラグインによって、同様の機能を提供していた。

主な機能

再生機能
音楽ファイルの再生
動画ファイルの再生

CD, DVD, BDの再生 
早送り、巻き戻しなどの操作
加速再生、減速再生
ステレオ、モノラル再生、PANの設定
一定区間の繰り返し再生
イコライザ
再生位置ブックマーク
メディア情報の表示
ポッドキャストの再生
サーバーからのストリーミング再生

GUI
ビジュアライザ
Qtインターフェイスの改造、スキンの適用
マウスジェスチャ
OSDによる表示
キーボードショートカット

動画
動画ファイルの再生
字幕再生
スナップショットの撮影
フルスクリーン再生
ズーム、縦横比率の変更
スケール、クロップ

その他
BD-Jのサポート(メニューの再生)
プレイリストの読み込み、書き出し
メディアコーデックの相互変換
プラグインの追加と削除（Blu-ray Disc再生など）

再生サポート

入力メディア 

ディスク
DVD-Video、ビデオCD、スーパービデオCD (メニューに対応)、音楽CD (DTS-CDは非対応。CD-TEXTに対応)
3.0以降では、AACSがかかっていないHD DVDに限りその中の.evoファイルを再生できる。2.0以降では、AACSがかかっていないBlu-ray Discを再生できる。

ネットワークプロトコル
HTTP、FTP、、YouTubeなど

その他
DVB、ビデオキャプチャーデバイス (Webカメラなど)

コンテナ形式 
AVI(DMF)、ASF、MP4、MOV、MPEG-2システム、Ogg、OGM、Matroska(WebM)、WAV、FLVなど

ビデオコーデック 
AV1, MPEG-1/2、DivX (1/2/3/4/5/6)、MPEG-4 ASP、Xvid、3ivX D4、H.261、H.263、H.263i、H.264 (MPEG-4 AVC)、H.265 (HEVC)、Cinepak、Theora、Dirac (VC-2)、Motion JPEG (A/B)、WMV 1/2、 WMV 3、WMV9、VC-1、Sorenson 1/3、DV、On2 (VP3/VP5/VP6)、Indeo Video v3、RealVideo (1/2/3/4)

オーディオコーデック 
MPEG-1/2 Layer 1、MP2、MP3、MPEG-4 AAC part3、Ogg Vorbis、AC-3 (ドルビーデジタル)、E-AC-3、MLP/TrueHD、DTS、WMA (1/2/3)、FLAC、ALAC、Speex、Musepack (MPC)、ATRAC 3、WavPack、Mod、TrueAudio、APE (Monkey's Audio)、Real Audio、Alaw/μlaw、AMR (3GPP)、MIDI、LPCM、ADPCM、QCELP、DV Audio、QDM2 (QDMC)、MACE

字幕コーデック 
DVD字幕、テキストファイル (MicroDVD、SubRip Text (SRT)、SubViewer、SSA1-5、SAMI、VPlayer)、クローズドキャプション、Vobsub、Universal Subtitle Format (USF)、SVCD字幕 (CVD)、DVB字幕、OGM、CMML、OggKate、ID3タグ、APEv2、Vorbis comment

対応OS 
以下のOSに対応している。
Windows
 Windows (Windows XP Service Pack 3以降)
 UWPアプリ (Microsoftストア)
 Windows 10 パソコン
 Windows 10 Mobile
 Surface Hub
 HoloLens
 Xbox One
 Xbox Series X/S
 Windows Phone (Microsoftストア)
 Windows 8 Mobile
Apple
 macOS
 Intel プロセッサ
 Appleシリコン プロセッサ
 App Store
 iPhone/iPod touch: iOS 9.0以降
 iPad: iPadOS 9.0以降
 Apple TV: tvOS 11.0以降
Linux
 Debian GNU/Linux
 Ubuntu 16.04 LTS以降 (Snap Store)
 Mint 
 openSUSE Leap 15.1以降
 Gentoo Linux
 Fedora 22以降
 Arch Linux
 Slackware Linux 13.37以降 
 Red Hat Enterprise Linux / CentOS / Scientific Linux 
その他
 Android
 APKファイル
 Google Playストア
 Amazon Fireストア (Android 4.2以降)
 ChromeOS (Chrome ウェブストア)

 FreeBSD
 NetBSD
 OpenBSD
 Solaris
 QNX
 OS/2

脚注

関連項目 

 ソフトウェア特許
 Media Player Classic
 オープンソースのメディアプレーヤー

外部リンク 

 
 
 
 VLC Media Player Portable PortableApps.com Windows用
 人気爆発のOSSメディアプレイヤー"VLC" - 開発者が語るプロジェクトの全貌 - マイナビニュース（2009年12月18日）
 老舗メディアプレイヤー「VLC」、30億ダウンロード達成。まもなくAirPlayもサポート予定 -  Engadget 日本版（2019年1月12日 ）
 メディアプレイヤー界の王「VLC」は学生の小規模プロジェクトから生まれた - gigazine（2019年11月25日 ）
 無料でオープンソースのメディアプレイヤー「VLC」で簡単にPCの画面を録画する方法 - gigazine（2021年07月17日）
 中国のサイバー犯罪グループ、VLCのエクスポート機能悪用した攻撃展開か - マイナビニュース（2022年04月12日 ）
 無料のマルチメディアプレイヤー「VLC」公式サイトがインドではブロックされていることが判明 - gigazine（2022年08月19日）

メディアプレーヤーソフト
オープンソースソフトウェア
DVD関連のソフト
クロスプラットフォームのソフトウェア
Qtを使用するソフトウェア
2001年のソフトウェア