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年05月09日、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の機能にアクセスするための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プラグインによって、同様の機能を提供している。 音楽ファイルの再生 動画ファイルの再生 早送り、巻き戻しなどの操作 加速再生、減速再生 ステレオ、モノラル再生、PANの設定 一定区間の繰り返し再生 イコライザ 再生位置ブックマーク メディア情報の表示 ポッドキャストの再生 サーバーからのストリーミング再生 ビジュアライザ 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、MMS[要曖昧さ回避]、YouTubeなど その他 DVB、ビデオキャプチャーデバイス (Webカメラなど) AVI(DMF)、ASF、MP4、MOV、MPEG-2システム、Ogg、OGM、Matroska(WebM)、WAV、FLVなど 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)、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に対応している。 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