Сергей: На второй итерации в res оказывалось undefined — и (undefined).push естественно вызывал эту ошибку. Добавил в функцию return res в конец, теперь все ок.
bighoc: Смотря какой бэкендщик. Если Java/Python/Ruby (врядли Nodejs) — то должны понимать, что такое демонизация, если понимаете — то догадываетесь, что процессы в браузере тоже долго живут (пока открыта страница), единственное, с чем надо разобраться это с eventmachine и самим JS — после этого у вас такие вопросы возьникать в принципе не будут ;-)
Константин Китманов: Ну только если какие-то плагины или модули будут подключаться, скажем, через полгода другими людьми и отдельными файлами — они эту ошибку будут неделю искать ;-)
ILoveYAnny: wedriver есть под любую платформу, другое дело, что важно сначала понять, где вы это запускать будете. Но имхо это оверхед. PhantomJS тут самое то (или Casper на базе фантома, как выше предложили).
Я исхожу из того, что происходит в IT индускрии, и из того, что HTML5 video сильно зависит от браузера. Если вы можете на Java без использования ffmpeg кодировать видео — это плюс, конечно, но это не решит задачи вывода видео в video. Предложенное решение использует mpeg1 декодер и canvas, работает стабильно.