Предположим, у меня есть личный медиапоток (ни аудио, ни видео, ни субтитров), и я хочу преобразовать его в файл MP4 или MPEG2TS с помощью ffmpeg. Возможно ли это без изменений источника? Или у меня есть написать кодек для ffmpeg?
1 ответ
Существует хорошо реализованная библиотека под названием MP4v2
подходящая для использования в C/C++, которая обеспечивает достаточную функциональность для заявленной цели. В частности, можно добавить дорожку в MP4 и установить все типы блоков в файле в соответствии со своими потребностями. Аналогично, библиотека извлечет дорожки в другой файл и удалит существующую дорожку из файла.
Что касается части MPEG2TS, я не нашел подобной библиотеки и решил написать программу, которая напрямую манипулирует файлами .ts
путем мультиплексирования в новых пакетах под новым PID с синхронизацией PTS в аудио / видео потоках.
Ничто из этого не будет использовать ffmpeg. Хотя я потратил много времени, пытаясь понять этот (всесторонний и обширный) инструмент, похоже, мне придется написать кодек для моего нового типа потока, и это довольно трудоемкая работа.