
2026/11/05 22:00
お気に入りのYouTube動画をダウンロード
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
2026年10月13日、著者はオンラインコンテンツを即座にアーカイブするようユーザーを促し、企業向けインターネットサービスがデジタルアートに対して敵対的になりつつあり、リンクが無断で消失する可能性があると指摘している(例:古いYouTubeの「いいね」付き動画など)。特定のユースケース、つまり睡眠中にテレビでMany a True Nerd(MATN)のレツプレイを再生することに対応するために、本文では既存のNASインフラストラクチャーを活用したワークフローを概説している。この解決策は
yt-dlpとそのラッパーであるytdl-subを用いており、Docker Composeでホストされ、VSCode IDEを通じてカスタムのMATNプレイリストおよびメタデータを効率的に管理する。設定ではプレイリストのタイトルをJellyfin内のシーズン番号として割り当て(スコーパーをオフにした"TV Shows"モードを設定)、重複を防いでいる。ストレージの最適化のため、著者はTdarrを使用して2TBのライブラリをHEVC/H.265形式から変換しており、既存のシーズン構造を修正するために1TBの動画ファイルを完全に再インポートするのを避け、約700GBの容量節約を実現した。本システムは巨大なファイルの複製を回避しつつも、ユーザーは稀に発生するUIの複雑さ、Jellyfinでのサムネイル表示エラーの可能性、また自動ツールが細かなタスクや特定のジャンルタグ(例えば"Folding Ideas"をドキュメンタリーとしてタグ付けするなど)に対処できない場合の手動修正の必要性を受け入れる必要がある。本文
YouTube 動画のアーカイブとメディアライブラリ構築ガイド
2026 年 10 月 13 日の投稿において、企業の管理下にあるインターネット環境におけるコンテンツの重要性について言及されています。愛する動画を自分自身で主張し、占有しない限り、それはあなたのものではありません。長期にわたり YouTube で活動する方は、「お気に入り動画」プレイリストを閲覧すれば、多くの動画が利用できなくなっている事実を目撃できるでしょう。
このアーカイブ作業は以下のツールで行うことができます。
- 基本的なツール: 入手容易で、優れたデフォルト設定を備えています。
- 推奨ソフト:
やその多数のラッパーが、必要なことのほとんどを担います。yt-dlp - ストレージ戦略: 大量ストレージドライブまたは NAS の単一フォルダで管理し、いつでもアクセス可能にします。
なぜ「変わった」構成が必要なのか
著者は低音量で Many a True Nerd のプレイ動画を見ないと眠れないという不幸なクセがあり、これを家族用テレビで、かつ既存の NAS インフラと統合して楽しむ必要がありました。これには以下の課題が伴いました:
- 家族共有: 家族で見られる環境が必要です。
- インテグレーション: 既存の NAS インフラストラクチャへの統合が必須です。
- 管理負荷: 数百本の動画を数十のプレイリストに整理する必要があります(想像以上に大きな課題)。
- 自動化不可能: 新作の追加・配置を手動で行うのは非現実的です(数が多いため)。
Jellyfin の限界と解決策
Jellyfin はメディアライブラリ中心で堅固な分類概念(映画、テレビ番組、アーティスト)しか持っておらず、「プレイリスト」はあくまで一次整理構造として意図されていませんでした。
しかし、大胆な調整により満足できるセットアップを完成させることができました。構成は以下の通りです:
- Jellyfin の設定
- YouTube を TV ショウモードのライブラリとして構築。
- すべてのメタデータスクレイパーを無効化。
- ファイル名よりもファイル内のデータを優先するように設定。
- ytdl-sub の活用
- プレイリスト構造を維持できる唯一の有効な
ラッパー。yt-dlp - シンプルな
ファイルベースで構成され、VSCode IDE との親和性が高く、技術的ギャップを埋めるのに適しています。.yaml - カスタム設定例:
- 独自ジャンルと Many a True Nerd のプレイリストリストを設定。
- Folding Ideas の動画を「ドキュメンタリー」として設定(本来の文脈に合わせる)。
- プレイリスト構造を維持できる唯一の有効な
構造化の問題と解決策
YouTuber と視聴者の多くにとって、チャンネル内をすべてプレイリストとして構造化する必要は薄いため、ytdl-sub はデフォルトで「シーズン」を年別、「フォルダ名」をプレイリスト名としてタグ付けします。これにより Jellyfin にデータが重複配置される問題が発生しました。
この問題を解決するため、設定ファイル内でプレイリストタイトルを「シーズン番号」として割り当てるという方法を採用しています(一見破綻しそうですが実用可能)。
注意: Jellyfin は動画をインポートした後、ライブラリ全体を再インポートすることなしにシーズン番号を更新できないため、既存シリーズのスクリプト修正には限界があります。
Tdarr:動画の最適化とストレージ節約
Tdarr はメディアサーバー上の動画を自動的に通過させ、望む方法で再エンコードするサービスです。著者はストレージ容量がボトルネックとなるため、すべての動画を HEVC/H.265 でエンコードしています。
Tdarr の実情
- UI: 複雑で設計が難しいため、最小限の運用しかできない方に推奨されます。
- 学習曲線: 大きな野心を持ち込んでからデフォルト設定だけで十分だと悟るまで時間がかかります。
- 動作特性:
- 複雑なワークフローではエラーになりやすく、スクリプトを手動で調整する必要があります。
- 一旦動き始めれば、ギガバイト単位で動画を継続的に再エンコードします。
メタデータと結果
- Jellyfin のサムネイル画像が失われることがあり、完全な解明には至っていませんが、手動での修正やメタデータ更新で修復可能です。
- 2TB のライブラリ全体で約 700GB を節約できました。
- ダウンロード時の選別性が高ければ、さらなるコスト削減が可能かもしれません。
推奨度: 特に推奨はしませんが、急な場合でも確実に任せてくれる安定性を備えています。
結論:バイブコーディングのススメ
これらの設定は、「バイブコーディング」(直感的・感覚的なコード作成)に満ちています。
yt-dlp スクリプトやコマンドラインの使用は畏るべきものですが、ホームラボにおけるすべてと同様に、完璧である必要はありません。それがこの趣味を永遠に生き延びさせています。
#blog #homelab