[FFmpeg] Используйте команду ffmpeg для реализации потоковой передачи в реальном времени по запросу и по запросу (Введение в потоковую передачу по запросу и по запросу | Создание сервера потокового мультимедиа | Используйте команду ffmpeg для операции отправки | Используйте команду ffmpeg/ffplay для операции извлечения)
[FFmpeg] Используйте команду ffmpeg для реализации потоковой передачи в реальном времени по запросу и по запросу (Введение в потоковую передачу по запросу и по запросу | Создание сервера потокового мультимедиа | Используйте команду ffmpeg для операции отправки | Используйте команду ffmpeg/ffplay для операции извлечения)
Каталог статей

  • 1. Введение в выталкивающие и вытягивающие потоки
    • 1. Операции вытягивания и вытягивания в реальном времени
    • 2. Программное обеспечение, участвующее в живом вещательном толчке и потоковой передаче
    • 3. Выталкивающий поток -> вытягивать поток процесс
  • 2. Создание сервера потокового мультимедиа.
    • 1. Подготовка соответствующих документов
    • 2. Создайте экземпляр облачного сервера ECS.
    • 3. Настройте группу безопасности.
    • 4. Используйте WinSCP для загрузки программного обеспечения сервера потокового мультимедиа и сценариев конфигурации.
    • 5. Используйте SecureCRT для подключения к серверу.
    • 6. Создайте сервер потокового мультимедиа.
  • 3. Используйте команду ffmpeg для выполнения операций потоковой передачи.
  • 4. Используйте команду ffplay для выполнения операций потоковой передачи.
  • 5. Используйте команду ffmpeg для выполнения операций потоковой передачи.
существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

Краткое содержание блога:

  • ffmpeg Push-стриминг Заказ :
Язык кода:javascript
копировать
ffmpeg -re -i input.mp4 -c copy -f flv rtmp://39.105.129.233/myapp/
  • ffplay вытягивать поток Заказ :
Язык кода:javascript
копировать
ffplay rtmp://39.105.129.233/myapp/
  • ffmpeg вытягивать поток Заказ :
Язык кода:javascript
копировать
ffmpeg -i rtmp://39.105.129.233/myapp/ -c copy output.flv

1. Введение в выталкивающие и вытягивающие потоки


1. Операции вытягивания и вытягивания в реальном времени

FFmpeg Инструменты можно использовать прямая трансляция из Push-стримингивытягивать поток действовать ;

  • Push-стриминг да Воляместныйиз Аудио и видео Поток перенесен напотоковый серверначальство , нравиться : Привязка Воля к локальному компьютеру с экрана Push-стриминг к прямой трансляцияплатформаизпотоковый серверначальство ;
  • вытягивать поток да вытягивать потокдаотпотоковый серверначальствоперенимать Аудио и видеопоток и существование локальной игры или процесса из процесса ,нравиться : пользователь смотретьпрямая трансляцияплатформапрямая трансляциячас,отпотоковый серверначальство Реальностьчасполучатьпрямая трансляциясодержание ;

2. Программное обеспечение, участвующее в живом вещательном толчке и потоковой передаче

начальствоописыватьдействоватьсвязанный с 3 программное обеспечение :

  • Push-стримингконецпрограммное обеспечение
  • потоковый сервер
  • вытягивать потокконецпрограммное обеспечение

3. Выталкивающий поток -> вытягивать поток процесс

потоковый сервер существовать Push-стриминг и вытягивать поток действоватьсередина , Актер играет важную роль , его основные задачи да будет видео и Мультимедийный контент, такой как аудио Кодек и передача инфекции ;

  • Push-стриминг час , Push-стримингпрограммное обеспечение Воля Аудио и видео кодирование , передача инфекции Давать потоковый сервер ;
  • потоковый сервер перенимать Push-стримингизданные , Сначала декодируйте выполнять различные обработки , Затем приступаем к кодированиюпередачи. инфекции Давать вытягивать потокконец ;
  • вытягивать поток час ,вытягивать потокпрограммное обеспечение Воля от потоковый сервер перениматьиз звуккодирование видео данные декодировать, Тогда продолжайте игру ;

2. Создание сервера потокового мультимедиа.


ссылканравиться Следующий блогстроитьпотоковый сервер :

1. Подготовка соответствующих документов

существовать Информация из блога Android_RTMP - CSDN скачать страница , Можетскачать Ubuntu система строить потоковый сервер Необходимость из Различные инструменты обеспечение ;

основнойданужны первые двапрограммное обеспечение ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

Дануждатьсяначальствопроходитьприезжать Ubuntu серверначальствонуждаться Конфигурацияизпрограммное обеспечение ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

2. Создайте экземпляр облачного сервера ECS.

Входить Облачный сервер Алибаба консоль облачный сервер ECS страница https://ecs.console.aliyun.com/home , Нажмите " Создать экземпляр " кнопка ,

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

Выберите индивидуальную покупку, вытесняемый экземпляр (самый дешевый), регион Северный Китай 2 (Пекин), выберите переключатель по умолчанию;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

Фильтрация экземпляров, выбрав 1vCPU, выберите первый экземпляр, он дешевый;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

выбирать Ubuntu система зеркало , номер версии 18.04 64 Кусочек из ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

настраивать 20 G изCloud Disk , Может снизить затраты ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

выбирать Настроитьпароль, для root пользовательнастраивать Han@123456 пароль , Требования должны быть настроены прописные и строчные буквы , специальные символы и число ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

настраивать сегодня вечером Автоматически выпускать экземпляры , Просто закончите писать блог и проведите презентацию. ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

Нажмите " Подтвердить заказ " кнопка ,Вот и все Создать экземпляруспех ; Уведомление убеждаться Есть баланс, В противном случае экземпляр не может быть создан. , торопиться 10 Всего 1 юань ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

существовать Примеризеркало середина, Можно просмотреть только что созданное из Пример ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

3. Настройте группу безопасности.

выбирать " Сеть и безопасность " Ниже из группа безопасности Параметры , Нажмите правила управления Связь ,

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

существовать " В направлении " Конфигурация TCP протоколиз 8080 и 1935 порт , Это дадля потоковый сервер настраиватьизпорт ;

( Вы также можете настроить экспорт , нопотоковое Скрипт мультимедиа Конфигурация также необходимо соответствующим образом изменить. )

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

Нажмите Пример Крайний правый из

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

кнопка , выбирать Сетевая группа безопасности Внизиз Исправлятьгруппа безопасности Параметры ,

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

существовать Всплывающее диалоговое окно середина ,Можетвыбирать Прямо сейчаснастраивать Понятно В направлении Конфигурация TCP протокол 8080 и 1935 порт из группа безопасности ;

настраивать Понятно Долженгруппа безопасности , талантсуществовать потоковый сервер серединаиспользоватьэти двоепорт ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

4. Используйте WinSCP для загрузки программного обеспечения сервера потокового мультимедиа и сценариев конфигурации.

WinSCP инструментсуществовать Информация из блога Android_RTMP\002_Инструменты удаленного управления Linux\linux_tools\winscp514 в каталоге ;

( Да существовать Информация из блога Android_RTMP - CSDN скачать страница серединаскачатьизинформации в блоге )

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

5. Используйте SecureCRT для подключения к серверу.

Пример из Публичная сеть IP да 39.105.129.233 ,

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

Подключитесь к адресу 39.105.129.233, используя имя пользователя root,

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

выбирать получить и сохранить ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

входитьпароль Han@123456 , и сохраните пароль ;

Нажмите " Конечно " кнопка , Начать подключение ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

После подключения , Можно просмотреть root пользовательв файл каталогеиз , Включая серию ранее загруженных из потоковый сервер программное программное обеспечение, связанное с файлами ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

6. Создайте сервер потокового мультимедиа.

Прямое исполнение rtmp_server_build.sh файл сценария , завершить настройку сервера ;

осуществлять

Язык кода:javascript
копировать
chmod 777 rtmp_server_build.sh

Заказ , для rtmp_server_build.sh файл сценариядаритьосуществлять Разрешения ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

осуществлять

Язык кода:javascript
копировать
./rtmp_server_build.sh

Заказ , Начать потоковый сервер Конфигурация ; В течение этого периода вам будет предложено несколько раз входить Y Нажмите Enter ;

Отобразить следующий контент , Описание завершено ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

текущий облачный сервер ECS Публичная сеть IP да 39.105.129.233 ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

но потоковое мультимедиа сервериз HTTP Статус Посмотретьадресда http://39.105.129.233:8080/stat , существует браузер для доступа к этому адресу , Можно просмотреть потоковое мультимедиа Статус сервера ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

существовать http://39.105.129.233:8080/ адрес Можно просмотретьпрямая трансляциясодержание ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

3. Используйте команду ffmpeg для выполнения операций потоковой передачи.


осуществлять

Язык кода:javascript
копировать
ffmpeg -re -i input.mp4 -c copy -f flv rtmp://39.105.129.233/myapp/

Заказ ,Воляместныйиз input.mp4 Push-стримингприезжатьпотоковый серверсередина, Запустить Push-стриминг ;

  • -re параметр настраивать На реальной скорости читать входитьдокумент ,нравиться : входитьвидеоиздлинада 3 минута, Так использовать 3 минутаизчас время обработать это видео , Невозможно обработать как можно быстрее , Настройкаубеждаться Скорость Push-стриминга соответствует скорости видеоигры. ;
  • -i input.mp4 параметр настраивать входитьдокументимяда input.mp4 , Вы также можете нажать здесь Фактическая запись экрана ;
  • rtmp://39.105.129.233/myapp/ параметр , rtmp да потоковое мультимедиапротокол , 39.105.129.233 дапотоковый сервер , myapp дасуществовать потоковый сервер из nginx.conf середина Конфигурацияиз rtmp / server / application Имя приложения из конфигурации ;
Язык кода:javascript
копировать
rtmp {
    server {
        listen 1935;

        application myapp {
            live on;
        }
    }
}

прямая трансляцияизадресне толькода rtmp://39.105.129.233/myapp/ адрес , Вы можете добавить контент позже , нравиться

Язык кода:javascript
копировать
rtmp://39.105.129.233/myapp/0
rtmp://39.105.129.233/myapp/9527
rtmp://39.105.129.233/myapp/888

Этиадрестакжеда Можетиспользоватьиз , впоследствиивытягивать потокизчасждатьтакжеиспользоватьтакой жеизадресруководитьвытягивать поток ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

4. Используйте команду ffplay для выполнения операций потоковой передачи.


существоватьдругое окно , осуществлять

Язык кода:javascript
копировать
ffplay rtmp://39.105.129.233/myapp/

Заказ , начинатьвытягивать поток играть ; Эффектнравиться Вниз :

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

После завершения Пуш-стриминга , Push-стримингиз Заказпрямая линияпокидать , вытягивать потокиз Строка заказа требует выезда вручную ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

в это время существовать Статус сервераначальство Все еще показывает прямую трансляцияпоток ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

Воля вытягивать поток из Заказ ХОРОШО использовать Ctrl + C заставить выйти ,

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

в это времясервериз Статус потока показывает Нет 0 ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

5. Используйте команду ffmpeg для выполнения операций потоковой передачи.


существоватьдругое окно , осуществлять

Язык кода:javascript
копировать
ffmpeg -i rtmp://39.105.129.233/myapp/ -c copy output.flv

Заказ , начинатьвытягивать поток ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

осуществлятьпроцесснравиться Вниз, В этот период прямой игры не будет. трансляцияэкран ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения

существовать вытягивать поток Интерфейс линии заказа , использовать Ctrl + C покидать , вытягивать поток После завершения , Будет ли автоматически сохраняться контент Воля Пуш-стриминга в output.flv документсередина ;

существование Вставьте сюда описание изображения
существование Вставьте сюда описание изображения
boy illustration
RasaGpt — платформа чат-ботов на основе Rasa и LLM.
boy illustration
Nomic Embed: воспроизводимая модель внедрения SOTA с открытым исходным кодом.
boy illustration
Улучшение YOLOv8: EMA основана на эффективном многомасштабном внимании, основанном на межпространственном обучении, и эффект лучше, чем у ECA, CBAM и CA. Малые цели имеют очевидные преимущества | ICASSP2023
boy illustration
Урок 1 серии Libtorch: Тензорная библиотека Silky C++
boy illustration
Руководство по локальному развертыванию Stable Diffusion: подробные шаги и анализ распространенных проблем
boy illustration
Полностью автоматический инструмент для работы с видео в один клик: VideoLingo
boy illustration
Улучшения оптимизации RT-DETR: облегченные улучшения магистрали | Support Paddle облегченный rtdetr-r18, rtdetr-r34, rtdetr-r50, rtdet
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | Деформируемое внимание с большим ядром (D-LKA Attention), большое ядро ​​​​свертки улучшает механизм внимания восприимчивых полей с различными функциями
boy illustration
Создано Datawhale: выпущено «Руководство по тонкой настройке развертывания большой модели GLM-4»!
boy illustration
7B превышает десятки миллиардов, aiXcoder-7B с открытым исходным кодом Пекинского университета — это самая мощная модель большого кода, лучший выбор для корпоративного развертывания.
boy illustration
Используйте модель Huggingface, чтобы заменить интерфейс внедрения OpenAI в китайской среде.
boy illustration
Оригинальные улучшения YOLOv8: несколько новых улучшений | Сохранение исходной информации — алгоритм отделяемой по глубине свертки (MDSConv) |
boy illustration
Второй пилот облачной разработки | Быстро поиграйте со средствами разработки на базе искусственного интеллекта
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция с нулевым кодированием и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
Решенная Ошибка | Загрузка PyTorch медленная: TimeoutError: [Errno 110] При загрузке факела истекло время ожидания — Cat Head Tiger
boy illustration
Brother OCR, библиотека с открытым исходным кодом для Python, которая распознает коды проверки.
boy illustration
Новейшее подробное руководство по загрузке и использованию последней демонстрационной версии набора данных COCO.
boy illustration
Выпущен отчет о крупной модели финансовой отрасли за 2023 год | Полный текст включен в загрузку |
boy illustration
Обычные компьютеры также могут работать с большими моделями, и вы можете получить личного помощника с искусственным интеллектом за три шага | Руководство для начинающих по локальному развертыванию LLaMA-3
boy illustration
Одной статьи достаточно для анализа фактора транскрипции SCENIC на Python (4)
boy illustration
Бросая вызов ограничениям производительности небольших видеокарт, он научит вас запускать большие модели глубокого обучения с ограниченными ресурсами, а также предоставит полное руководство по оценке и эффективному использованию памяти графического процессора!
boy illustration
Команда Fudan NLP опубликовала 80-страничный обзор крупномасштабных модельных агентов, в котором в одной статье представлен обзор текущего состояния и будущего агентов ИИ.
boy illustration
[Эксклюзив] Вы должны знать о новой функции JetBrains 2024.1 «Полнострочное завершение кода», чтобы решить вашу путаницу!
boy illustration
Краткое изложение базовых знаний о регистрации изображений 1.0
boy illustration
Новейшее подробное руководство по установке и использованию библиотеки cv2 (OpenCV, opencv-python) в Python.
boy illustration
Легко создайте локальную базу знаний для крупных моделей на основе Ollama+AnythingLLM.
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание решения. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Одна статья поможет вам понять RAG (Retrival Enhanced Generation) | Введение в концепцию и теорию + практику работы с кодом (включая исходный код).
boy illustration
Эволюция архитектуры шлюза облачной разработки
boy illustration
Docker и Kubernetes [Разработка контейнерных приложений с помощью Python]