Часть 1. ffmpeg: Файлы и потоки
Условие задачи:
Первая лабораторная работа нацелена на изучение простых операций кодирования файлов при помощи FFMPEG.
Вам нужно подготовить демо-файлы для воспроизведения на устаревших портативных устройствах. Эти устройства имеют различия в требованиях к медиафайлам, но вы прочитали эти требования и учтете их при подготовке файлов — пользователь будет доволен.
- Демо-файлы должны иметь ограниченную длительность — 10 секунд.
- Исходные видеофайлы записаны с разрешением 1920х1080.
- Кодирование для IPod Touch (2007)
Требования к медиафайлам для воспроизведения на этом устройстве:
- Video Format: MP4, MOV, M4V
- Video Size: 640x480
- Video Framerate: 30fps
- Video Bitrate: 1.5Mbps for H.264, or 2.5Mbps for MPEG-4
- Audio: AAC 160Kbps, 48kHz
Цель:
Освоить функции для перекодирования видеофайла
Средства:
- FFMPEG
Входные данные:
Видеофайл для перекодирования input.mp4(тут https://drive.google.com/file/d/17upM0Yp7QJ9XdckG79PdVyl_Nyq8kY3k/view)
Выходные данные:
Видео output.mp4, удовлетворяющее входным требованиям
Формат сдачи:
Команда, выполняющая указанные преобразования, в файле solution.txt. Отправьте решение через бота "Darth Grader" или сделайте коммит файла в гитлабе в главную ветку с текстом check
Если что-то не работает
Напишите в канал курса, приложив скриншоты
Как посмотреть свою оценку
Она придёт в "ЧАТ МИЭМ" от бота. Также её можно увидеть в результате выполнения пайплайна в репозитории
Часть 2. ffmpeg: Компоновки и пайплайны
Вторая лабораторная работа нацелена на освоение компоновки нескольких видеофайлов при помощи FFMPEG в одном выходном файле.
У вас есть два видеофайла (video1.mp4, video2.mp4), нужно собрать их на одном экране 1920х1080, уменьшив и расположив рядом (side-by-side) и записать в выходной файл output.mp4 с битрейтом 4096 кбит/с в H.264 для видео и 196 кбит/с стерео в AAC.
- Поля между видеокадрами должны быть равны 12 пикселей.
- Слева должно быть video1.mp4, справа - video2.mp4
- Поля от видеокадров до краёв компоновки должны быть равны 10 пикселей.
- По высоте видеокадры нужно расположить ровно по центру.
- Под видеокадрами должно располагаться изображение background.png размером 1920х1080 пикселей.
- Длина результирующего видео должна быть равной 10 секунд (исходные файлы могут быть как длиннее, так и короче, из них включаются первые десять секунд).
- Plate.png(плашкe) - разместить в координатах 1774x1004.
- Текст поверх плашки разместить в координатах 1778x1008. Шрифт белый, размер шрифта 24, используйте из файла arial.ttf. Текст – “MIEM HSE”(без кавычек). Здесь важно использовать именно генерацию текста, а не размещать изображение с текстом.
Цель:
Научиться манипуляция с разными типами файлов: видеофайлом, картинкой, текстом
Средства:
- FFMPEG
Входные данные:
- Картинка на фон
- Два видеофайла
- Плашка для титров
- Шрифт
Скачать можно тут: https://drive.google.com/drive/folders/1_VM5SgOsm6_jETj52p9duuuvHHk2toKW?usp=sharing
Выходные данные:
Видеофайл output.mp4, удовлетворяющий требованиям
Формат сдачи:
Команда, выполняющая указанные преобразования, в файле solution.txt. Отправьте решение через бота "Darth Grader" или сделайте коммит файла в гитлабе в главную ветку с текстом check
Если что-то не работает
Напишите преподавателю, приложив скриншоты
Как посмотреть свою оценку
Она придёт в "ЧАТ МИЭМ" от бота. Также её можно увидеть в результате выполнения пайплайна в репозитории
Часть 3. ffmpeg. Стриминг
Третья лабораторная работа нацелена на освоение возможностей стриминга с помощью фреймворка FFmpeg.
Задание
С помощью FFmpeg необходимо создать rtmp-поток на основе input.mp4(например https://drive.google.com/file/d/1xkLNtVPVWr2GKD-SxHzgdBEI8w5Dsdmf/view) с зацикливанием и без перекодирования по адресу rtmp://localhost:1935/live/stream.
Формат сдачи:
Команда, выполняющая указанные преобразования, в файле solution.txt. Отправьте решение через бота "Darth Grader" или сделайте коммит файла в гитлабе в главную ветку с текстом check
Если что-то не работает
Напишите преподавателю, приложив скриншоты
Как посмотреть свою оценку
Она придёт в "ЧАТ МИЭМ" от бота. Также её можно увидеть в результате выполнения пайплайна в репозитории