«Руководство по сборке домашнего сервера Raspberry Pi 4B», выпуск 17: Raspberry Pi и неработающий ноутбук с большей производительностью для создания частного кинотеатра
«Руководство по сборке домашнего сервера Raspberry Pi 4B», выпуск 17: Raspberry Pi и неработающий ноутбук с большей производительностью для создания частного кинотеатра

Jellyfin — это бесплатная система частного кинотеатра с открытым исходным кодом (управление аудио и видео), которая может помочь нам управлять кино- и телевизионными ресурсами на жестком диске и добавлять красивые постеры.

Jellyfin может записывать ход воспроизведения. Фильм воспроизводится до 10 минут 20 секунд на устройстве A и может продолжать воспроизводиться в течение 10 минут 20 секунд на устройстве B.

Jellyfin имеет полноценную систему управления пользователями, члены семьи могут иметь независимые учетные записи, а ход воспроизведения не влияет друг на друга.

Jellyfin поддерживает воспроизведение клиентов и воспроизведение веб-страниц. Вы можете управлять нашей коллекцией ресурсов фильмов и сериалов и воспроизводить их, открыв веб-страницу.

Jellyfin может свободно конвертировать форматы, автоматически конвертируя ресурсы формата с высокой скоростью передачи данных, такие как mkv, в формат, удобный для передачи по сети для воспроизведения в браузере. Наши фильмы 4K с высоким битрейтом можно конвертировать в фильмы 720p или даже 360p и передавать через интрасеть членам семьи за пределами домашней сети для воспроизведения. Если домашняя ТВ-приставка недостаточно мощна для воспроизведения оригинальных фильмов в формате 4K, Jellyfin может преобразовать ресурсы в потоковое мультимедиа 2K или 1080P в режиме реального времени, чтобы ТВ-приставка могла их воспроизводить.

image.png

image.png

Эта статья является 17-м выпуском серии «Raspberry Pi не ест пепел». Производительности Raspberry Pi 4B недостаточно для поддержки перекодирования видео 1080P Jellyfin в реальном времени, поэтому мы будем использовать Raspberry Pi в качестве шлюза, позволяющего это сделать. семьи на Старый компьютер запускает базовую службу jellyfin, а Raspberry Pi выполняет обратный прокси-сервер службы jellyfin в домашней сети и общедоступной сети.

Установить сервер Jellyfin

У меня есть ноутбук MacBook, который обычно не используется дома. В этой статье в качестве примера используется платформа macOS (конфигурация платформы Windows будет проще), а MacBook — в качестве машины, на которой jellyfin запускает службу.

Jellyfin ServerСкачать адрес:https://jellyfin.org/downloads/server

image.png

image.png

image.png

  • После успешной установки щелкните значок Jellyfin, чтобы начать.

image.png

  • После успешного запуска вверху появится значок сервера Jellyfin.

image.png

  • Чтобы гарантировать автоматический запуск Jellyfin Server при каждом включении компьютера, мы можем добавить Jellyfin Server в элементы автозагрузки.

image.png

image.png

Назначить фиксированный IP ноутбуку через роутер

image.png

Тогда мы сможем получить доступ к jellyfin с любого устройства в локальной сети через фиксированный IP-адрес и порт. Например, если IP-адрес, только что установленный с помощью ноутбука, — 192.168.50.74, то любое устройство в локальной сети может получить доступ к 192.168.50.74:8096 через браузер. .

image.png

Если вам трудно запомнить 192.168.50.74, мы можем использовать легко запоминающийся IP-адрес Raspberry Pi LAN 192.169.50.10:8096 для прокси-сервера 192.168.50.74:8096. Таким образом, Raspberry Pi становится шлюзом всего дома. Сеть frpc также может сопоставить службу jellyfin через порт 8096 с общедоступной сетью.

Войти в Raspberry Pi

Добавьте конфигурацию в Nginx Raspberry Pi (IP: 192.168.50.10) для пересылки запроса 192.169.50.10:8096 на 192.168.50.74:8096.

Язык кода:javascript
копировать
sudo bash -c 'cat > /etc/nginx/conf.d/192.168.50.74-8096.conf' <<-'EOF'
server {
    listen 8096;
    server_name 192.168.50.10;
    
    location / {
        proxy_pass http://192.168.50.74:8096;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
EOF

Проверьте файл конфигурации и перезапустите Nginx.

Язык кода:javascript
копировать
sudo nginx -t
sudo nginx -s reload

Затем откройте его через браузер 192.168.50.10:8096 Вот и все

image.png

  • Выберите язык

image.png

  • Установите имя пользователя и пароль

image.png

  • Дойдя до страницы выбора медиатеки, мы не можем выбрать ее сначала, следующий шаг

image.png

  • Следующий шаг

image.png

  • Следующий шаг

image.png

  • Полная настройка

image.png

  • Затем он автоматически перейдет на страницу входа и введет ваше имя пользователя и пароль для входа.

image.png

  • Вход успешен

image.png

  • Вход успешенназад,Язык, отображаемый в интерфейсе, по-прежнему английский.,Мы можем перейти на китайский

image.png

image.png

image.png

  • Выберите язык

image.png

  • держать

image.png

  • После успешного завершения обновите страницу Вот и все

image.png

  • Создать папку «Фильмы» как библиотеку

image.png

Здесь, согласно официальной документации jellyfin, используйте идентификатор imdb для названия файла фильма и папки, в которой он находится.

Язык кода:javascript
копировать
/Users/zhaoolee/jellfin/Movies/12 Angry Men (1957) [imdbid-tt0050083]/12 Angry Men (1957) [imdbid-tt0050083] - 1080p.mp4

Получите идентификатор соответствующего фильма по URL-адресу веб-страницы imdb.

jellyfin использует стандартное именование файлов,Снимайте постеры к фильмам,Создайте уютную стену с плакатами,Официальная документация по именованию файлов:https://jellyfin.org/docs/general/server/media/movies

Вернуться в консоль

image.png

image.png

Войдите в медиатеку и добавьте папку «Фильмы» в медиатеку.

image.png

image.png

image.png

image.png

image.png

Ожидание сканирования

image.png

Если процесс сканирования замедляется, попробуйте обновить страницу.

image.png

Если кольцо выполнения сканирования исчезает после обновления страницы, вы можете щелкнуть значок «Домой» в верхнем левом углу, чтобы вернуться на домашнюю страницу.

image.png

Появляется стена с плакатами

image.png

Нажмите на изображение на стене с афишей, чтобы увидеть подробную информацию об актерском составе и съемочной группе фильма.

image.png

image.png

  • Нажмите на обложку и значок воспроизведения, чтобы начать воспроизведение напрямую.

image.png

  • Играйте плавно

image.png

Поддержка переключения скорости кода по требованию

Мы храним видео 1080p или 4K на сервере. Если мы хотим получить доступ к внешней сети и сэкономить трафик, нам нужно воспроизводить видео 720p. После того, как jellyfin настроит ffmpeg на сервере, видео можно будет конвертировать прямо на сервере, но настоящее. Преобразование скорости видеокода по времени создает высокую нагрузку на ЦП. После настройки аппаратного декодирования на сервере jellyfin загрузку ЦП можно снизить.

Помимо преобразования скорости кода, ffmpeg также может конвертировать форматы. Например, если мы загружаем фильм в формате MKV, обычные браузеры не могут напрямую воспроизводить MKV, ffmpeg может конвертировать его в mp4 в режиме реального времени и отправлять в браузер. низкая скорость кода. Вам нужен только браузер, чтобы воспользоваться услугой просмотра фильмов частной видеотеки ffmpeg.

  • Установить ffmpeg
Язык кода:javascript
копировать
brew install ffmpeg
which ffmpeg

image.png

image.png

image.png

image.png

image.png

  • Проверьте аппаратное обеспечение графического процессора и включите аппаратное ускорение транскодирования.

image.png

image.png

Здесь есть опция Apple VideoToolBox для аппаратного ускорения, но есть ошибка, из-за которой невозможно играть при конвертации в 360p с низким битрейтом, поэтому в итоге я выбрал AMD AMF.

Не забудьте сохранить после настройки аппаратного ускорения.

image.png

Дополнительную информацию о настройке аппаратного декодирования см. в официальной документации. https://jellyfin.org/docs/general/administration/hardware-acceleration/

image.png

image.png

image.png

image.png

После завершения настройки вы сможете воспроизводить видео с низким битрейтом на устройствах, которым необходимо сохранять данные (мобильная сеть) или которые имеют слабые возможности декодирования (старомодные ТВ-боксы)

image.png

Добавьте телесериалы в нашу библиотеку управления медиафайлами

На примере британского сериала «Острые козырьки» нам нужно добавить идентификатор tmdb в основную папку сериала.

image.png

image.png

Эффект отображения

image.png

image.png

Сопоставьте jellyfin с общедоступной сетью

В качестве домашнего шлюза Raspberry Pi настроен с помощью frpc. Нам просто нужно добавить следующую Конфигурацию в frpc.ini и открыть 8096Вот в облачном сервере. и все Открыть jellyfin в общедоступной сети

Язык кода:javascript
копировать
[jellyfin-frp-v2fy-com-8096]
type = tcp
local_ip = 127.0.0.1
local_port = 8096
remote_port = 8096
  • После завершения настройки,Можно использовать в общедоступной сети.,Получите прямой доступ к библиотеке фильмов и телепередач частного кинотеатра через браузер!

image.png

краткое содержание

В нынешнем китайском Интернете jellyfin может предоставить нам неразрезанные высококачественные видеоролики, на просмотр которых мы даже не сможем потратить деньги, и при этом членство не требуется. Jellyfin бесплатен и не содержит рекламы. Дома вы можете использовать локальную сеть для просмотра высококачественных ресурсов. Когда вы находитесь вдали от дома, вы можете продолжить свой последний прогресс и смотреть версии фильмов и телепередач с сохранением данных.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose