サーバサイドでサムネイル生成などを行い、クライアントサイドでは表示制御を行うことになります。
基本的な流れは、

動画ファイルをサーバへアップロード
→サーバサイドでサムネイルを生成
→動画ごとに、タイムライン(再生位置)とサムネイルを関連付けた設定ファイルをサーバ上に作成
→クライアントサイドで設定ファイルをロード
→JavaScriptでサムネイル一覧の表示や、動画の現在位置やシーク操作などでサムネイル一覧をスクロールする機能を実装

となります。

これを実現するために必要な環境は下記になります。

サーバサイド

  • サーバ本体
  • 動画データをプログラムなどから扱えるソフトウェア(FFmpegなど)
  • PHPやRubyなどのプログラム実行環境

クライアントサイド

  • JavaScriptが動けばOK

動作させるサーバは、動画ファイルの容量などが大きい場合がほとんどですの、メモリやCPU、ディスク容量はそれなりにあった方が良いでしょう。
PHPなどのプログラム環境ですが、テストなどでエンジニアがコマンドを直接実行するような場合は必要ありませんが、ほとんどの場合、CMSと連携したり、フォームからアップロードすることが多いと思いますので、そういったプログラムが動作できる環境も整えておいた方が良いでしょう。

クライアントサイドも、単純に一覧表示しただけではユーザーが使いにくいので、どうすれば、よりユーザーが快適に使えるか、操作性や表示などの工夫もした方が良いかと思います。