FPlay - видеоплеер в Колибри

Processing, playback of audio and video
  • Любое сообщение об ошибке нужно сопровождать логом - разработчику хоть какая-то информация.
  • Mario wrote:Любое сообщение об ошибке нужно сопровождать логом - разработчику хоть какая-то информация.
    Вот, пожалуйста:

    Code: Select all

    main
    audio stream rate 44100 channels 2
    sound version 0x1000101
    w = 1280  h = 720
    K : Process - forced terminate PID: 00000035
    K : Undefined Exception
    K : EAX : 02615510 EBX : 00DE2010 ECX : FFFFFD80
    K : EDX : 00000000 ESI : 00B1A3D0 EDI : 02718290
    K : EBP : 027506C0 EIP : 00320559 ESP : 009ACD4C
    K : Flags : 00001206 CS : 0000001B (application)
    K : Process - forced terminate PID: 00000036
    K : Page fault
    K : EAX : 00C5F010 EBX : 00000001 ECX : FFE80010
    K : EDX : 008A93B0 ESI : 00DDF000 EDI : 00DDB000
    K : EBP : 00000000 EIP : 00000E74 ESP : 00C5BF20
    K : Flags : 00001286 CS : 0000001B (application)
    K : destroy app object
    K : destroy app object
    EDIT: Запустил в отладчике - вылетает на Exception #6 = Недопустимая команда (Invalid Opcode), т.е. недопустимая команда или команда UD2.
    А кто бы мне помог скомпилировать fplay под i586 или i586-MMX?
  • Собрал версию с автоопределением CPU под eBox
  • Плеер работает, но загрузка процессора очень сильная. Большинство файлов которые у меня без проблем запускаются в Колибри на Roverbook U800 (500 Мгц) здесь откровенно тормозят.
    Spoiler:
    1.png
    1.png (69.82 KiB)
    Viewed 4481 times
    2.png
    2.png (95.44 KiB)
    Viewed 4481 times
    Также, поскольку плеер выложен не сжатым - проверил скорость сжатия на eBox - около 35 секунд на сжатие плеера.
    Кому надо вот сжатый вариант:
    fplay.kex (1.68 MiB)
    Downloaded 193 times
  • Serge
    Есть возможность компилировать не в программу, а в загружаемую библиотеку?
    Я думаю было бы и для тебя подспорьем, если бы "морду" плеера писал кто-то еще, а то везде успеть нереально.
  • Mario

    1. В этой сборке ffmpeg должен выжимать из процессора максимум возможного.
    2. Теоретически сделать одну библиотеку возможно, но надо делать промежуточное API к ffmpeg. По факту выйдет ничуть не проще. Если есть желающие делать свой плеер на основе ffmpeg, лучше взять скомпилированные библиотеки ffmpeg (пять штук + newlib), писать COFF модули на асме и линковать потом ld. Это будет самый "простой" способ. Свои исходники на C я где-то выкладывал для примера.
  • Serge wrote:Собрал версию с автоопределением CPU под eBox
    Serge - огромное тебе спасибо! Сейчас потестировать не могу - поехал на выходные навестить родителей в другой город, но как только вернусь, так сразу! Загрузка процессора, мне кажется, связана с очень слабеньким FPU, которым fplay пользуется не по-детски :roll:

    Image
  • Ох и долго же он запускается на eBox — около 30 секунд... Первая настолько тормозная программа для Колибри, даже на eBox такого ещё не было:( Не понимаю, виноват ffmpeg, или гуёвая морда для Колибри?
    Но запустился, и играет видео.:) Правда, звук дёргается. Видео притормаживает, но не настолько заметно. Использовал для тестирования аниме «Мальчик, который видел ветер» в формате div3, завтра попробую другие имеющиеся форматы.
    На доске отладки он ничего не написал.
  • Всё-таки решил сегодня проверить avi и H264. Последний тормозит феерически, как и ожидалось.
    Spoiler:

    Code: Select all

    audio stream rate 48000 channels 2
    sound version 0x1000101
    w = 720  h = 576
    [swscaler @ 0xa334c0]No accelerated colorspace conversion found from yuv420p to bgr24.
    initial audio delta 85.333333
    K : destroy app object
    main
    [avi @ 0xa100f0]max_analyze_duration reached
    
    audio stream rate 44100 channels 2
    sound version 0x1000101
    w = 720  h = 480
    [swscaler @ 0xa71f10]No accelerated colorspace conversion found from yuv420p to bgr24.
    initial audio delta 85.333333
    K : destroy app object
    
  • Протестировал сейчас 3 файла (на несжатом fplay). Логи прилагаю.
    • WMV (1280x720 pixels; Audio: bit-rate 5285kbps, 16bit, 2 channels stereo, 44kHz; Video: data-rate 5114kbps, 24bit, stream name video 2) - отрисовка каждого видеокадра заняла несколько секунд, загрузка процессора 2-3% всего, звука не дождался - выключил :roll:
    • AVI (704x400 pixels; Audio: bit-rate 192kbps, format AC-3 ACM codec; Video: frame rate 25 frames/sec, data rate 1432kbps, sample size 12bit, compression XVID) - видео играет терпимо, если и дёргается, то я не замечаю, звук дёргается очень сильно как будто в пещере эхо, загрузка процессора 98-100%
    • MKV (720x444 pixels; Audio: Dolby AC3 48kHz 6ch, bit-rate 448 Kbps; Video: Matroska MPEG4 Video AVC (H264) 25.00fps, bit-rate 1 943 Kbps) - также, как и AVI
    В любом случае, это огромный прогресс для eBox, - большое спасибо Serge!
    Attachments
    fplay_new.log (2.51 KiB)
    Downloaded 188 times
  • Для сравнения, проверил те же 3 файла на eBox под Windows XP (через программу mplayer). Результат - хуже, чем в Колибри. :roll: Загрузка процессора - как и в Колибри (98-100%). Звук воспроизводится терпимо, но зато видео - как слайд-шоу, 1 кадр в секунду, если не меньше. Прикололо, что mplayer написал мне, что эта система слишком медленная для проигрывания этих файлов :lol: Логи прилагаю, на всякий случай. Так что ещё не всё потеряно с fplay - Serge, я в тебя верю! :wink:
    Attachments
    Downloaded 194 times
  • Я думаю, что можно поковырять как видеоплеер, так и драйвер аудио на предмет оптимизации. Есть еще вероятность что драйвер видеокарты может добавить немножко, если в чипсете есть хоть простейшие функции 2D видеоускорения.

    Вообще для плеера было бы идеально выводить изменения относительно опорного кадра сразу на экран и в RAW буфер (в RAW на всякий случай если произошло перемещение окна или еще какая левая перерисовка окна приложения), а не тупо перекидывать каждый кадр из RAW буфера на экран. Это снизило бы нагрузку, но чувствую это потребует большой работы с кодом плеера.
  • Я попробовал воспроизвести ещё три файла: Mp4 (H264), AVI (XViD) и MOV в разрешении 320 x 240, но от разрешения ничего не изменилось. MOV вообще превратился в слайдшоу с шипением вместо звука.
    Spoiler:

    Code: Select all

    main
    [avi @ 0xa100e0]max_analyze_duration reached
    
    audio stream rate 8000 channels 1
    sound version 0x1000101
    w = 320  h = 240
    [swscaler @ 0xb12010]No accelerated colorspace conversion found from yuv420p to bgr24.
    initial audio delta 85.333333
    K : destroy app object
    K : destroy app object
    K : destroy app object
    main
    
    audio stream rate 8000 channels 1
    sound version 0x1000101
    w = 320  h = 240
    [swscaler @ 0xa4e720]No accelerated colorspace conversion found from yuv420p to bgr24.
    initial audio delta 85.333333
    K : destroy app object
    K : destroy app object
    K : destroy app object
    main
    
    audio stream rate 8000 channels 1
    sound version 0x1000101
    w = 320  h = 240
    [swscaler @ 0xa92030]No accelerated colorspace conversion found from yuv422p to bgr24.
    initial audio delta 85.333333
    K : destroy app object
    
    Spoiler:
    1.gif
    1.gif (71.4 KiB)
    Viewed 4944 times
  • Атауальпа wrote:Я попробовал воспроизвести ещё три файла: Mp4 (H264), AVI (XViD) и MOV в разрешении 320 x 240, но от разрешения ничего не изменилось. MOV вообще превратился в слайдшоу с шипением вместо звука.
    Не играй фильмы с /bdX, тебе же русским языком сказали :roll:
  • Who is online

    Users browsing this forum: No registered users and 23 guests