PDA

Просмотр полной версии : (mpeg) структура файла



race1
02.08.2004, 13:07
подскажите где можно достать структуру файла mpeg (не аудио, а видео-файла). в инете поискал - не нашёл

Romeo
02.08.2004, 13:14
Плохо искал. Вот первая ссылка, которую выдаёт google на запрос "Структура MPEG файла": http://www.codenet.ru/progr/formt/mp3tag.php

race1
02.08.2004, 13:29
это как раз заголовок аудио файла, а мне бы хотелось структуру файла видео

Romeo
02.08.2004, 13:37
Последующие ссылки как раз указывают на mpeg-video...

race1
02.08.2004, 14:01
правильно, как состоит этот файл, как его кодируют, всякие ibp кадры и прочие вещи я находил во многих местах. но какова _структура_ файла, в виде "вот этот байтик отвечает за то, эти два за это" и т.д. я не нашёл. а мне нужно именно последнее

Absurd
02.08.2004, 14:48
К нормальным форматам файлов декодер написать в одиночку невозможно в принцыпе, и это архиправильно.

race1
02.08.2004, 14:52
мне нужно только информацию прочитать вроде битрейта, размеров картинки, видео\аудио кодека. пример нашёл, там мало информации, а аудио информации вообще нет

Absurd
02.08.2004, 14:54
А DirectShow зачем придумали?

race1
02.08.2004, 15:09
лучше своими руками всё читать. блин, это же не сложно! ширина, высота и сколько кадров в секунду читается на раз, это есть в seq_header. так же просто (наверняка) можно прочитать и остальную необходимую информацию. нужно-то всего знать где она записана. а такой информации нет :(

Romeo
02.08.2004, 15:12
Вопрос возможно не совсем корректный, но всё же: а для чего это всё нужно? Возьмёт Бил или какой-нибудь русский Вася да и придумают новые структуры или как-то поменяют (дополнят) существующие и напишут кодеки новые. После этого твоя программа перестанет работать. Если делать всё правильно, то получать данные о файле (будь то время проигрывания, количество потоков или иная лабуда) нужно через DirectX, а не напрямую (а точнее через DirectShow).

race1
02.08.2004, 15:19
для "но всё же": разве Бил входит в группу MPEG ;)
а вообще жалко, что нужно привязываться ко всяким там иксам. если придумают новый формат, то моя прога будет понимать только предыдущий, так, вообще-то, достаточно логично. нужно дописать прогу под новый формат. те же иксы появятся только через год (поддерживающие все новейшие форматы), а я могу подправить свою прогу в любой момент. главная проблема - нет инфомации :(

Romeo
02.08.2004, 16:05
Ешё раз говорю, юзай DirectX и забудь об enhancments in future. Мне кажется все плюсы налицо. Если работаешь под Винду, то по другому вообще делать глупо...

Romeo
02.08.2004, 16:11
Иксы, кстати, новые появляться не должны. Вместе с новым форматом должен появиться новый кодек.

Andy
03.08.2004, 12:07
race1, меня этот вопрос тоже интересует (применительно к MPEG-2 и MPEG-4). Найдете - публикуйте ссылочку здесь, пожалуйста. Кстати, Вы не указали какой именно MPEG формат ищете.

race1
04.08.2004, 04:47
а я таки нашёл парсер mpeg файлов, и умею получать информацию из них. назло вам всем! :) кстати, код этого парсера намного проще привязывания к иксам

Andy, загляните на http://www.rsdn.ru/Forum/Message.aspx?mid=746060&only=1

Romeo
04.08.2004, 11:47
А кто тебе сказал, что привязывание к Иксам так уж сложно :)

race1
04.08.2004, 11:49
Romeo, не знаю, но одна мысль об этом пугает :)