Описание mp4
От: SanyaVB  
Дата: 22.12.20 06:07
Оценка:
Привет всем! Надеюсь мой вопрос в нужном разделе форума!

Чего то ни как не могу найти описания формата mp4. Может кто-то подкинет ссылку на документацию этого чуда?

Есть огромное желание научиться читать этот формат, написать свой фильтр! — это шутка, с большой долей правды. Просто K-Lite Codec в коммерческих целях запрещено использовать, а мне надо проигрывать рекламу. Сам я пишу на C# используя WPF, но вот MediaElement плохо освобождает неуправляемую память, в результате нескольких циклов проигрывания ПК просто зависает. С K-Lite Codec + DirectShow таких проблем не было, но как писал выше для моих целей не подойдет. Может посоветуете альтернативу, которая не нарушает лицензию продукта?
Если тут есть, кто проигрывал видео в коммерческом ПО, поделитесь плиз жизненным опытом. Как вы решали такую проблему?
Re: Описание mp4
От: sambl74 Россия  
Дата: 22.12.20 06:19
Оценка:
Здравствуйте, SanyaVB, Вы писали:

SVB>Может посоветуете альтернативу, которая не нарушает лицензию продукта?


ffmpeg, LGPL лицензия у него
Re[2]: Описание mp4
От: Pzz Россия https://github.com/alexpevzner
Дата: 22.12.20 09:50
Оценка: :)
Здравствуйте, sambl74, Вы писали:

SVB>>Может посоветуете альтернативу, которая не нарушает лицензию продукта?


S>ffmpeg, LGPL лицензия у него


Речь ведь о венде, наверное, идет, а ffmpeg большой и тяжелый. SanyaVB замучается его собирать, и замучает нас вопросами...
Re: Описание mp4
От: alexander_r  
Дата: 22.12.20 10:15
Оценка:
Здравствуйте, SanyaVB, Вы писали:

SVB>Привет всем! Надеюсь мой вопрос в нужном разделе форума!


SVB>Чего то ни как не могу найти описания формата mp4. Может кто-то подкинет ссылку на документацию этого чуда?

SVB>Есть огромное желание научиться читать этот формат,..
SVB>Если тут есть, кто проигрывал видео в коммерческом ПО, поделитесь плиз жизненным опытом. Как вы решали такую проблему?

если под Win то можно использовать MediaFoundation, там есть поддержка контейнера mp4
https://docs.microsoft.com/en-us/windows/win32/medfound/mpeg-4-file-source
mp4 сложный формат, (т.е это не avi и не wav по сложности ), и реализовывать его вручную, что бы файл с рекламой проиграть, имхо слишком эпично


https://stackoverflow.com/questions/29565068/mp4-file-format-specification
Отредактировано 22.12.2020 10:27 alexander_r . Предыдущая версия .
Re: Описание mp4
От: Videoman Россия https://hts.tv/
Дата: 22.12.20 14:12
Оценка: +1
Здравствуйте, SanyaVB, Вы писали:

SVB>Привет всем! Надеюсь мой вопрос в нужном разделе форума!


SVB>Если тут есть, кто проигрывал видео в коммерческом ПО, поделитесь плиз жизненным опытом. Как вы решали такую проблему?


Для нормального проигрывания файла не достаточно одного описания mpeg4 контейнера. Сам формат базируется на стандарте ISO BMFF, который в принципе не сложный. Я писал с нуля полностью свои парсеры mpeg4 контейнера и fragmented-mpeg4 (сейчас мы используем ffmpeg). Это приходилось делать, т.к. раньше ffmpeg либо не работал, либо не поддерживал нужную конфигурацию, либо делал это не правильно.
Написать свой сплиттер mpeg4 будет объемной (долгой), но простой задачей для человека который уже в теме и имеет опыт. Особенно геморройным будет парсинг заголовков самих кодеков h264, aac и т.д., т.к. они лежат в сыром виде, в формате стримов кодеков и описываются своими отдельными стандартами и документами. Для проигрывания их придется частично расковыривать (например, преобразовывать в AM_MEDIATYPE если имеется в виду DirechShow).
Для человека который до этого не сталкивался с мультимедиа, это сложная задача, на мой всгляд.
Если вы не боитесь и все еще полны решимости то вот ссылки с чего начать:

ISO base media file format ISO/IEC 14496-12 — описание структуры контейнера ISO BMFF
MP4 file format ISO/IEC 14496-14 — отражение MP4 контейнера на боксы ISO
Advanced Video Coding ISO/IEC 14496-10 — описание заголовков кодека AVC
Audio ISO/IEC 14496-3 — описание заголовков Аудио кодеков

Если что, спрашивайте уже конкретнее.
http://www.gravatar.com/avatar/60560936caa07b944d4c3cecf1c06cc5?s=80&d=identicon
Отредактировано 22.12.2020 14:28 Videoman . Предыдущая версия . Еще …
Отредактировано 22.12.2020 14:13 Videoman . Предыдущая версия .
Re: Описание mp4
От: DiPaolo Россия  
Дата: 28.12.20 18:16
Оценка:
SVB>Есть огромное желание научиться читать этот формат, написать свой фильтр! — это шутка, с большой долей правды. Просто K-Lite Codec в коммерческих целях запрещено использовать, а мне надо проигрывать рекламу.

Если надо проигрывать рекламу, то проще всего, как писали выше, взять FFmpeg. Просто читать MP4 тут недостаточно. MP4 — это контейнер, внутри которого лежат аудио + видео. Для проигрывания придется еще не только читать, но и декодировать видео, а также аудио. А потом это еще и синхронизировать. Это ооооочень непростая задача для одного человека. Да и бессмысленная.
Re[3]: Описание mp4
От: DiPaolo Россия  
Дата: 28.12.20 18:19
Оценка:
Pzz>Речь ведь о венде, наверное, идет, а ffmpeg большой и тяжелый. SanyaVB замучается его собирать, и замучает нас вопросами...

Под винду есть готовые собранные либы, ссылка на которые есть на официальном сайте. Вот например, свежие сборки тут — https://github.com/BtbN/FFmpeg-Builds/releases. Надо скачать любой билд с суффиксом win64-lgpl-shared.

Можно и самому собрать — там не сложно, даже под винду.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.