[ Сообщений: 560 ]  На страницу Пред.  1 ... 10, 11, 12, 13, 14, 15, 16 ... 19  След.
3DO SDK 
Автор Сообщение
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

MovieCompress и жмет этим кодеком видеофайлы. Вопрос в том, можно ли их уже использовать так. Насколько я видел, в играх видеофайлы либо без расширения, либо с расширением *.stream.


21 сен 2011, 10:02
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

Versus, для воспроизведения в плеере надо прогнать видофайл через MovieToStream и затем через Weaver. Видеофайл надо разбить на блоки через MovieToStream, если есть аудио - поток, то Weaver миксует блоки видео и аудио в единый потоковый файл stream. И уже результирующий файл проиграть в плеере.

Разрешение для видео вполне достаточное. Можно разрешение оставить и 320х240, но поток все же выставить 150-180 кб/сек. В этом случае качество изображения будет хуже из-за более высокого уровня сжатия.

Анализ потока производится утилитой DumpStream. Выдается полная статистика, даже по каждому блоку можно инфу получить.


21 сен 2011, 11:11
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Спасибо большое за ответ! Буду экспериментировать. :-):

MovieToStream, когда подсунул ему файл в 36Мб (разрешение 320*240, пожат MovieCompress), вроде создает файл *.FILM, но пишет:
### -2015 Occurred during GetMediaSample
### Filling to end of block and closing...

Не знаю, что происходит, не работают и маленькие файлы 4Mb (разрешение 320*240, пожат MovieCompress). Пишет:
## -43 Occurred while FSMakeFSSpec for logo1.mov


Зато с файлами большего разрешения (608*392), пожатыми кем-то Cinepak-ом в винде, MovieToStream работает "на ура"... Но нам-то нужно совершенно другое разрешение.
Почитав в SDK раздел DataStreamer, задался вопросом. Зачем было уже отснятое видео со звуком разбирать на видео, на звук, обрабатывать их отдельно, а затем снова собирать в один файл *.stream?! Нельзя было придумать один кодек, которым бы перепаковывалось исходное видео? Не понимаю...

UPD/
Так как я по своей же инструкции не смог найти файл MPW-GM.img, привожу ссылку, откуда можно его скачать, да и не только его.
http://download.system7today.com/

Последний раз редактировалось Versus 22 сен 2011, 09:45, всего редактировалось 2 раз(а).

Причина: Обновлено



21 сен 2011, 11:22
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Рву волосы на попе... Уважаемый nikk здесь 3DO SDK уже описывал телодвижения для конверта видеороликов... А я велосипед захотел придумать...


28 сен 2011, 16:47
Аватара пользователя
Техподдержка
Техподдержка

Группа: Администраторы
Сообщения: 9506
Регистрация: 03 дек 2009, 21:07
Откуда: СССР
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Versus
Сколько раз уже писал, закрепите первое сообщение и добавляйте важную информацию туда.


29 сен 2011, 13:46
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Полезную информацию собрал в первом посте темы. Тема разрослась, и найти полезное стало тяжело. Все полезное буду дублировать туда.


29 сен 2011, 19:50
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Ура! Не без помощи рекомендаций nikk мне удалось видеоролик перегнать в stream. Теперь нужно его проверить. Исходя из этого получается, что нужно написать маленькую прогу, которая бы запускала ролик при загрузке. Учитывая то, что я в C# дуб дубом, это будет сложно. Попробую разобраться, есть ли в примерах SDK похожее...


30 сен 2011, 22:13
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

Versus писал(а):
Исходя из этого получается, что нужно написать маленькую прогу, которая бы запускала ролик при загрузке.

Василий, попробуй поступить по другому. Распотроши DOOM прогой Altmer. В корне лежит готовый плеер - Playmovie. Это программа которая в фоне проигрывает видео. Синтаксис: "playmovie <твой видео-файл>". Так же в корне твоего диска лежит файлик AppStartup. Как я уже говорил, это скрипт подготавливающий среду исполнения. Добавь в этот файл строку "playmovie <твой видео-файл>". При загрузке консоли будет запущен плеер с твоим видео. Только в своей проге (которая LaunchMe) после инициализации надо вставить пустой цикл без отображения. Иначе видео на мгновение появится и будет затерто. Плеер работает в фоне. Цикл может выглядеть так:
while( 1 )
{
      err = WaitVBL( vbl_ioreq, 1 );
      if( err < 0  )
       break;
}


01 окт 2011, 04:55
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Спасибо, получилось! Ура! Только видео немного заедает и звук, бывает, на мгновения пропадает. Это из-за того, что неправильно выбран размер блока?


01 окт 2011, 15:50
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

Поздравляю! :co_ol:
Versus писал(а):
Это из-за того, что неправильно выбран размер блока?

Возможная причина. Каждый кадр видео выравнивается на размер блока. Например если ты выбрал размер блока 32768 байт, а кадр имеет размер 13000 байт, то в блок запишется 13000 байт видеоданных. Остальные 19768 байт будут забиты неиспользуемыми данными. Итого при 15 кадрах в сек. видео приводом будет прочитано за секунду 190 кБ видео и 289 кБ левых данных, что в сумме 479 кБ. Привод не сможет физически прочитать такой поток. Поэтому важно правильно рассчитать поток видео данных, размер блока, учесть аудио поток и т.д. Пробуй, экспериментируй. "Да пребудет с тобой Сила!" (с) :gim-nast:


01 окт 2011, 17:18
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Не знаю, имеет ли это значение, но я проверял на эмуляторе, а там, по идее, не должно быть ограничения на скорость считывания.
UPD\
Переделал на основе примера. jsshowcel. Тормоза пропали. Теперь такой вопрос. Мы запустили ролик по сути перед выполнением LaunchMe. А как запустить, например, по завершении этого ролика следующий? Запись в AppStartup уже не прокатывает. Я так понимаю, что мы должны где-то следить за окончанием потока?
UPD2\
Попытался просто добавить фоновую музыку:
LoopStereoSoundFile( "background.aif" );

Появились тормоза. Откуда они?


01 окт 2011, 21:50
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

Versus писал(а):
Появились тормоза. Откуда они?

Проигрывание видео это очень ресурсоемкая задача для АРМ. Поэтому и разрешение видео лучше уменьшать для более ровного отображения и другие задачи должны минимально задействовать ресурсы АРМ. И конечно видеоплеер запускается отдельным потоком из твоей программы например:
Item LoadProgram(char *cmdLine);
В программе происходит отслеживание завершения потока или ключевые события (останов, перемотка, следующий эпизод и т.д.). Для более детального изучения см. раздел Multitasking и Intertask Communication в SDK.


02 окт 2011, 06:01
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Благодарю! Как всегда, выручаешь. :son-ce:
Вот, зацените, что получилось. В образе: подмененный BannerScreen, начальная заставка, фон, курсор на нем и фоновая музыка.

https://yadi.sk/d/qQreZDg13A9ntp

У кого есть возможность, проверьте, плиз на консоли, не заедает ли видео и фоновая музыка.


02 окт 2011, 16:07
Аватара пользователя
Специалист
Специалист

Группа: Администраторы
Сообщения: 11160
Регистрация: 03 дек 2009, 22:32
Откуда: MO/DK
Модель 3DO: Panasonic FZ-1 NTSC-U
Сообщение 

Ща проверим. :mi_ga_et:


02 окт 2011, 16:08
Аватара пользователя
Супермодератор
Супермодератор

Группа: Супермодераторы
Сообщения: 7987
Регистрация: 04 дек 2009, 12:31
Откуда: Германия, г.Кобленц
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

Видео в студию! :-):


02 окт 2011, 16:43
Аватара пользователя
Специалист
Специалист

Группа: Администраторы
Сообщения: 11160
Регистрация: 03 дек 2009, 22:32
Откуда: MO/DK
Модель 3DO: Panasonic FZ-1 NTSC-U
Сообщение 

Вот вам видео:
видео

Есть небольшие, кратковременные заикания, На видео всё слышно. От привода приставки не зависит, пробовал на двух. В целом, неплохо. Я в официальных программных продуктах видел распределение потока куда хуже. В частности, в каких-то игрушках на Philips CD-I (привод 1X, max = 150кБ/c). Для неё распределить поток, наверное, ещё труднее.


02 окт 2011, 17:37
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Аркадий, спасибо! Значит, при конвертации видеоролика похерилось качество.
Еще хотелось бы ужать фоновую музыку. Там она занимает 42Mb. Многовато.


02 окт 2011, 17:42
Аватара пользователя
Супермодератор
Супермодератор

Группа: Супермодераторы
Сообщения: 7987
Регистрация: 04 дек 2009, 12:31
Откуда: Германия, г.Кобленц
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

Класс, ролик из миста второго, ещё управление сделать чтоб работало и порт готов.
Что за версия игры? С компа?


02 окт 2011, 18:00
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Да, с компа.
ross_nikitin писал(а):
ещё управление сделать чтоб работало и порт готов

Было бы так просто, выложил бы уже порт. :-):


02 окт 2011, 18:08
Аватара пользователя
Супермодератор
Супермодератор

Группа: Супермодераторы
Сообщения: 7987
Регистрация: 04 дек 2009, 12:31
Откуда: Германия, г.Кобленц
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

щЮтка! :-):


02 окт 2011, 18:17
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

Василий, молодец! :bra_vo:


03 окт 2011, 05:15
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Спасибо! Это моя маленькая победа. :-):


03 окт 2011, 09:11
Аватара пользователя
Консольный монстр
Консольный монстр

Группа: Пользователи
Сообщения: 2308
Регистрация: 04 дек 2009, 09:38
Модель 3DO: Нет
Сообщение 

Gratz


03 окт 2011, 09:12
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Потихоньку продвигаемся дальше. После вступительного ролика запускаем второй:
Task2 = LoadProgram ("playmovie 159_tlogo1.stream");

Ждем, пока он закончится:
for (nCountdown = (35 * 30); nCountdown; nCountdown--)
            WaitVBL( gVBLIOReq, 1 );

И тогда уже продолжаем:
   DrawImage(gScreenContext->sc_Screens[gScreenContext->sc_curScreen], gBackgroundImage, gScreenContext);
        .......

Уже знаю, как лучше сделать. Нужно не ждать определенное время, а ждать окончание потока Task2. Тогда выполнение кода будет продолжаться сразу, даже если прервать воспроизведение джойстиком. Как сделать пока не разобрался.


08 окт 2011, 19:45
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

Небольшая демонстрашка из SDK - проигрывание MIDI файла. Очень неплохо звучит.


12 ноя 2011, 20:51
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Действительно, отлично звучит! :co_ol:


12 ноя 2011, 22:01
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

boot_code состоит из кода DSP процессора, своего рода защита от копирования. Кстати данный тип защиты описан в одном из патентов.


04 янв 2013, 20:08
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

Кусок кода выдранного моим сниффером с живой FZ-1 американки по линиям между контроллером CD и контроллером XBUS. Обмен который происходит сразу после включения консоли. Информация по командам и ответах от контроллера в сырцах FreeDO (iso.cpp).
Запрос                  Ответ
----------------------------------------------------------
83 00 00 00 00 00 00 -> 83 00 10 00 01 31 66 00 00 00 00 00
82 00 00 00 00 00 00 -> 82 00 00 12 00 00 00 00 00 00
83 00 00 00 00 00 00 -> 83 00 10 00 01 31 66 00 00 00 00 00
82 00 00 00 00 00 00 -> 82 00 00 00 00 00 00 00 00 00
80 00 00 00 00 00 00 -> 80 aa 55 00
02 00 00 00 00 00 00 -> 02 10
82 00 00 00 00 00 00 ->
80 00 00 00 00 00 00 -> 80 aa 55 00
02 00 00 00 00 00 00 -> 02 10
82 00 00 00 00 00 00 -> 82 00 02 15 00 00 00 00 00 00
83 00 00 00 00 00 00 -> 83 00 10 00 01 31 66 00 00 00 00 00

C данной точки консоль нормально загружается и опрашивает контроллер по состоянию (команда 0x83). Использованный в сниффере MCU - STM32F4 на 168МГц. После переконфигурирования сниффера на повторение ответов, консоль грузится без контроллера CD.


20 янв 2013, 17:22
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Ничего не понимаю... (с) :-(


20 янв 2013, 18:01
Аватара пользователя
Мегажитель
Мегажитель

Группа: Разработчики
Сообщения: 405
Регистрация: 01 мар 2010, 09:07
Откуда: Омск
Модель 3DO: Panasonic FZ-10 NTSC-J
Сообщение 

Versus писал(а):
Ничего не понимаю... (с) :-(

Ковыряю аппаратуру консоли. Удалил контроллер CD и пытаюсь эмулировать его работу на MCU. Хочу запускать образы и проги сразу на железе, без прожига CD. По USB передавать секторы образа в MCU и затем из MCU в железо консоли. Ну или с флешки/SD.


20 янв 2013, 20:00
На страницу Пред.  1 ... 10, 11, 12, 13, 14, 15, 16 ... 19  След.
© 2008-2024 «3DOPLANET.ru». Создано на основе phpBB® Forum Software © phpBB Group
Designed by ST Software || Русская поддержка phpBB || Time : 0.089s | 22 Queries | GZIP : On