Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Синхронизация анимации и звука. (http://www.flasher.ru/forum/showthread.php?t=209786)

Pegacy 21.12.2014 00:33

Синхронизация анимации и звука.
 
Приветствую! Доделал я почти свой клип, и столкнулся с очередной проблемой - звук. Вернее музыка.
Беда в том что некоторые события в анимации акцентированы на некоторые ноты музыки. Однако я не могу попасть в них четко, поскольку везде музыка подгружается по разному (700кб). Т.е. на временной шкале это одно время, в просмоторщике флеша другое, в реальности близкое к просмоторщику но всё же с запаздыванием.
Меня терзают сомнения если я даже подгоню под браузер, не съедет ли музыка у других людей на менее слабых машинах? Можно ли как то явно указать старт музыки и анимации так чтобы они были жестко синхронизированы друг с другом и никуда не съезжали?

Tails 21.12.2014 02:39

Флешь анимация при воспроизведении рассчитывается каждый кадр заново. При этом точный fps - не гарантируется. Если целевая машина будет слабой, или анимация слишком сложной, визуализация кадров будет происходить медленнее. В то время как воспроизведение звука всегда происходит с точно заданной скоростью. В связи с этим, нельзя гарантировать, что нужный участок в звуке "попадёт" в нужный кадр при воспроизведении.

Есть несколько вариантов, как быть в такой ситуаций:
  • Перевести ролик в формат видео файла, например avi. Тогда видео и звук будут гарантированно синхронизированы.
  • Разбить исходный звук на несколько частей и в каждом конкретном кадре запускать конкретный нужный звук. (Собрать некий звуковой коллаж)
  • Использовать более сложный тип анимации, основанный на прошедшем времени. В базовой ide от адоба, такой возможности, насколько я знаю - нет. Поэтому, тут понадобиться использовать сторонние библиотеки и умение программировать на AS.

Кот Баюн 21.12.2014 08:05

а чего, Stream уже отменили?

Tails 21.12.2014 13:43

Расскажите, как вы предлагаете его использовать для этой задачи.

Кот Баюн 21.12.2014 16:22

Внедрить звук в документ

Pegacy 21.12.2014 16:36

И всё же что в конкретном случае мне делать?
Записывать на видео нет смысла.
Разбить звук на части мысль хорошая, но могут появиться пробелы или наоборот части будут накладываться друг на друга.
Третье не понял.
Совет Кот Баюн тоже мне не ясен. Музыка у меня и так лежит в библиотеке.

Кот Баюн 21.12.2014 17:09

Поищите хелп по синхронизации звука
Да хотя бы вот этот

http://compress.ru/article.aspx?id=11878

Pegacy 21.12.2014 18:25

Режим синхронизации Stream

Режим синхронизации Stream используется для синхронизации потокового звука и анимации для воспроизведения в Web. Flash подстраивает мультипликацию под темп потокового звука. Потоковый звук имеет приоритет перед визуальным рядом: если Flash не может прорисовывать кадры мультипликации достаточно быстро, он пропускает их, а целостность звучания сохраняется. В отличие от звуков события, потоковый звук прекращается, если останавливается анимация. Также потоковый звук никогда не может играть дольше, чем воспроизводится количество кадров, которое он занимает.
Пример потокового звука — голос персонажа мультипликации, воспроизводимый в течение большого количества кадров.


Оно? Ога вроде бы выровнилось, но почему из-за этого пострадало качество звука?

Кот Баюн 21.12.2014 19:10

Потому что в настройках Вы не проставили хорошее качество.
Зайдите в Publish Settings и увеличьте число килобит/сек

Pegacy 21.12.2014 19:19

Кот Баюн
Спасибо! Проблема вроде решена!

Кот Баюн 21.12.2014 19:39

да не за что.
рад был помочь

Сабир 30.07.2016 01:08

А я методом проб и ошибок, понял, что звук во флеше, отстает от изображения на 15 кадров.

Кот Баюн 31.07.2016 16:05

я писал на эту тему мини-статейку на другом форуме.

http://2danimator.ru/showthread.php?t=6730

могу продублировать




Всем привет!

Многие мультипликаторы, работающие с флешем, наверняка замечали интересный феномен, что при воспроизведении своего фильма в среде Flash до сборки ролика и звук и изображение идут вровень - один к одному.
Однако, при экспорте файла в какой бы то ни было формат.... звук стремительно отстает от изображения с огромным нарастанием.
В семиминутном ролике он будет отставать почти на секунду.
Долгое время я не мог понять, почему.

Оказывается, фактическая частота кадров во Flash меньше заявленной примерно на 1%.
Казалось бы, небольшая цифра, в минуту примерно на 4 кадрика, но пройдет еще минута, цифра умножится на 2, еще минута, на три, и.т д.
При указанной Frame rate в 25 fps фактическая частота будет 24,943.

Конечно, большинство пользователей, завидев такое, плюнет и перейдет собирать ролик во всякие Нюки, Афтеры, Премьеры и прочие монтажные редакторы.

Но в принципе, эта задача решаема внутри Flash.
То есть, далеко не надо бежать.

С моими знаниями честного троешника по математике я прикинул такую таблицу:

(см. вложение)

Что мы делаем? Экспортируем звуковую дорожку в отдельный файл.
Можем сделать также копию своего flash-документа, чтобы не терять данные, если напортачим.

Ну а теперь добавляем во флеш-документе на киноленте-временной шкале каждую минуту по 3-4 кадра, в зависимости от таблицы,
при этом начинать стоит с конца.
А после приделываем нашу звуковую дорожку.
Теперь в несобранном виде звук и изображение в документе разойдутся, но при публикации будут стоять ровно.

Таким же макаром я перевел ролик из частоты 24 кадра/cекунду в 25, без скачков и потерь в динамике.

Если вы работаете в видео, можно конечно, автоматически преобразовать скорость 24,943 в 25,000 при помощи любой монтажной программы (например, VirtualDub) и длительность Вашего ролика сохранится, и звук встанет на место, но при этом ждите сюрпризов в виде побочных лишних кадров и скачков в изображении.

Программа ведь сделает то же самое.
Понатычет 3-4 лишних кадра на минуту где-нибудь, по алгоритму.
Но результатом будут рывки и скачки в самых неподходящих местах.
Особенно, если у Вас работа динамического характера или вдруг встретится панорамирование камеры. Представьте плавное движение, вдруг бац! и рывок...

Поэтому я предлагаю проделать сей процесс интеллектуально - вставляя кадры там, где вздумается Вам, а не программе, и там, где они действительно не могут испортить динамику сцены и плавность движения.



Надеюсь, материал пригодился.
Удачи!


Часовой пояс GMT +4, время: 07:16.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.