Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MPEG 4 Библиотека, Подскажите такую 
:(
    Опции темы
JekaZZ
Дата 11.3.2009, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 6.10.2005

Репутация: нет
Всего: 3



Подскажите библиотеку C/C++ для работы с MP4 файлами. 

Мне нужно в программе из существующего MP4 (h264, AAC) файла вырезать часть его и передать плееру (xine лии mplayer). 
Как я понимаю, нужно взять заголовок и склеить его с той частью видео данных, что мне надо, причем вырезаемый кусок должен начинаться с keyframe-а. И еще дано смещение в секундах от начала файла, нужно определить смещение в байтах, откуда брать кусок.


PM MAIL   Вверх
nerezus
Дата 11.3.2009, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



JekaZZ, а почему просто не откроешь mplayer'ом нужную часть? он это умеет.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
JekaZZ
Дата 11.3.2009, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 6.10.2005

Репутация: нет
Всего: 3



Потому что файла нет целиком. Файл закачивается из сети и одновременно воспроизводится. Причем, воспроизводится не сначала, а с определенной позиции. Поэтому нужно начинать качать файл сразу с нужной позиции.
PM MAIL   Вверх
JekaZZ
Дата 12.3.2009, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 6.10.2005

Репутация: нет
Всего: 3



Нашел в инете похожий случай. Там предлагают использовать mencoder для того, чтобы дампить удаленный файл и одновременно воспроизводить дамп mplayer-ом. Я попробовал:
Код

#mencoder <url>/<filename>.mp4 -oac copy -ovc copy -ss 100 -o dump

Здесь mencoder тянет файл из сети с позиции 100 секунд и дампит его в локальный файл dump без перекодирования audio и video. Но такая команда создает avi файл, он не перематывается и не переключаются audio дорожки, а нужен MP4 или OGM с двумя дорожками. 
Хорошо бы было использовать
Код

#mplayer <url>/<filename>.mp4 -dumpstream -dumpfile dump -ss 100

Но опции -ss и -dumpstream несовместимы.

Вы спросите: почему  я не использую ссылку напрямую в mplayer?:
Код

#mplayer <url>/<filename>.mp4 -ss 100


Потому что mplayer в таком случает тормозит, хотя мощности компа и канала сети предостаточно. А про перемотку я вообще молчу. Поэтому выбран такой варинат - файл сначала дампится на диск, а из дампа воспроизводится, и хорошо перематывается. Но дамппиться он должен не с начала, а с заданной позиции в секундах. 
Сейчас в моей программе это реализованно так - программа сама качает файл: сначала заголовок, который парсит и по параметрам находит смещение в байтах, откуда начинается заданная в секундах позиция, потом качается с этого смещения и склеивается с заголовком. Mplayer воспризводит получившийся файл. Но там используется формат RealVideo. 
Нужно же перейти на MPEG-4. Есть какие-нибудь соображения?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.1642 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.