Как я могу использовать FFmpeg для уменьшения размера MVC 3D фильма, сохранив его в 3D?

Вопрос или проблема

Когда я ищу информацию на эту тему, я нахожу много информации о преобразовании 3D в 2D или о преобразовании 3D в форматы side-by-side или top/bottom. Я не хочу менять тип используемого 3D (MVC — стандарт для 3D Blu-ray), однако. Я просто хочу более агрессивно сжать видео, чтобы сделать файл меньше, возможно, использовать H.265 вместо H.264, если H.265 поддерживает 3D.

Вот информация из mediainfo о видео:

Видео
ID                                       : 1
Формат                                   : AVC
Формат/Инфо                              : Advanced Video Codec
Профиль формата                          : Stereo [email protected] / [email protected]
Количество просмотров                    : 2
Макет MultiView                          : Оба глаза сплетены в одном блоке (левый глаз первый)
Настройки формата                        : CABAC / 2 Ref Frames
Настройки формата, CABAC                 : Да
Настройки формата, эталонные кадры       : 2 кадра
Настройки формата, GOP                   : M=1, N=10
Настройки формата, количество срезов     : 6 срезов на кадр
ID кодека                                : V_MPEG4/ISO/AVC
Продолжительность                        : 1 ч 36 мин
Режим битрейта                           : Переменный
Битрейт                                  : 35,6 Мбит/с
Ширина                                   : 1 920 пикселей
Высота                                   : 1 080 пикселей
Соотношение сторон                       : 16:9
Режим частоты кадров                     : Постоянный
Частота кадров                           : 23,976 (24000/1001) FPS
Цветовое пространство                    : YUV
Хроминанс субдискретизация               : 4:2:0
Глубина цвета                            : 8 бит
Тип сканирования                         : Прогрессивное
Биты/(Пиксель*Кадр)                      : 0,717
Размер потока                            : 24,0 ГиБ (83%)
Язык                                     : Английский
По умолчанию                             : Нет
Принудительно                            : Нет

Какие-нибудь предложения? Обычно я использую HandBrake для таких вещей, но я также выполнял некоторую конвертацию видео и аудио с помощью FFmpeg, обычно когда автоматизировал задачи.

Предпочтительным результатом будет, если также будет “Оба глаза сплетены в одном блоке (левый глаз первый)”.

Обновление:

Если я сделаю это, используя последнюю версию ffmpeg (2025-01-05-git-19c95ecbff-full_build-www.gyan.dev):

ffmpeg -i input.mkv -vcodec libx265 -crf 15 output.mkv

…я получаю постоянный поток предупреждений и ошибок, таких как:

[h264 @ 00000137dd9b85c0] Late SEI is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 00000137dd9b85c0] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list. ([email protected])
[h264 @ 00000137dda71140] sps_id 1 out of range

Выход все равно есть, несмотря на все эти ошибки, и mediainfo говорит, что выход – это “Оба глаза сплетены в одном блоке (левый глаз первый)”, но он воспроизводится как 2D, а не 3D.

Обновление 2:

Уточнил, что речь идет конкретно о MVC 3D… но, к сожалению, это уточнение, вероятно, означает, что на данный момент нет решения для моего вопроса с помощью ffmpeg и, возможно, никогда не будет.

Ответ или решение

Конвертация и сжатие видеофайлов, особенно в формате MVC 3D, требует тщательного подхода, учитывая специфику формата и желаемое качество конечного продукта. Вы пытаетесь сжать 3D-видео, сохранив формат MVC без преобразования в 2D или в стереоскопические представления, такие как side-by-side или top/bottom. Проблема заключается в том, что поддержка MVC в FFmpeg ограничена, и для полноценной работы могут потребоваться специфические решения.

Что представляет собой MVC 3D?

MVC (Multiview Video Coding) — это расширение H.264/AVC, которое поддерживает кодировку стереоскопического 3D-контента. Этот формат позволяет хранить две проекции (левый и правый канал) в одном потоке, что характерно для 3D Blu-ray дисков.

Использование FFmpeg для сжатия MVC 3D

На данный момент FFmpeg не имеет полной поддержки для сжатия и кодировки файлов MVC 3D в современных кодеках, таких как H.265 (HEVC). Проблемы, с которыми вы столкнулись, вероятно, связаны с отсутствием поддержки или полной реализации некоторых функций MVC в FFmpeg.

Решения и рекомендации

  1. Обновление FFmpeg: Убедитесь, что вы используете самую последнюю версию FFmpeg. Однако, как вы уже отметили, даже в последней версии могут быть недостатки в поддержке MVC.

  2. Альтернативные инструменты: Рассмотрение использования сторонних инструментов, которые могут обеспечить лучшее сжатие MVC 3D. Например, некоторые коммерческие программы или специализированные утилиты могут иметь более полную поддержку таких форматов.

  3. Сжатие без изменения формата: Если основная задача — это сжатие без изменения формата, можно попробовать использовать настройки кодека H.264 с более агрессивными параметрами сжатия, сохраняя при этом изначальный формат.

  4. Использование оболочки скриптов: При необходимости автоматизации можно написать скрипты, которые будут использовать дополнительное программное обеспечение для работы с MVC вместе с FFmpeg.

  5. Профессиональная помощь и сообщества: Обратитесь к форумам и сообществам, связанным с видеокодированием, для получения советов и рекомендаций от профессионалов, которые могли сталкиваться с аналогичными задачами.

Заключение

Пока поддержка MVC 3D в FFmpeg остаётся неоптимальной, вам, возможно, придётся искать альтернативные решения или использовать гибридный подход, сочетая различные инструменты для достижения необходимого качества и сжатия. Следите за новыми релизами FFmpeg и другими инструментами, которые могут предложить улучшенную поддержку этого формата в будущем.

Оцените материал
Добавить комментарий

Капча загружается...