2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Mathematica 10.0: экспорт анимаций в AVI-формат
Сообщение23.09.2015, 23:13 


24/07/14
138
При создании в Математике анимаций в AVI-формате полученный файл имеет огромный размер. Например одна и та же 20-секундная анимация в FLV весит 7 Мб, а в AVI – 1 400 Мб, т.е. в 200 раз больше, при одинаковом качестве картинки.

Анимацию делаю следующим образом: сначала создаю в Математике набор кадров и сохраняю их на диске в формате .PNG, потом, когда все кадры созданы, импортирую их в Математику в виде таблицы TABLE и наконец экспортирую в анимацию Export["movie.avi", TABLE, "FrameRate" -> 30].

Можно ли как-нибудь сделать нормальный экспорт в AVI? Другие форматы, тот же FLV, например, не подключаются к PowerPoint, или если и подключаются, то с большим трудом и очень нерационально.

 Профиль  
                  
 
 Re: Mathematica 10.0: экспорт анимаций в AVI-формат
Сообщение24.09.2015, 20:04 


24/01/09
1296
Украина, Днепр
Дело не в AVI, это только контейнер. Проблема в том, что Математика не сжимает кадры, помещая "как есть".
Самый простой вариант - прогнать получившееся через какой-то видеокодер, тот же Virtual Dub.

Вроде для .qt есть опция кодирования, можно попробовать.

 Профиль  
                  
 
 Re: Mathematica 10.0: экспорт анимаций в AVI-формат
Сообщение25.09.2015, 00:16 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
В справке по формату AVI так и написано:
Цитата:
Export generates uncompressed RGB frames, using a color resolution of 8 bits per channel.
_Er, а что, если сначала сохранять не в PNG, а в JPEG?

 Профиль  
                  
 
 Re: Mathematica 10.0: экспорт анимаций в AVI-формат
Сообщение25.09.2015, 22:46 


24/07/14
138
Aritaborian в сообщении #1056413 писал(а):
_Er, а что, если сначала сохранять не в PNG, а в JPEG?
Попробовал. Во-первых, JPEG портит картинку при экспорте. И весит при этом в несколько раз больше, чем PNG. Во-вторых, разницы при экспорте AVI нет. Размер файла один и тот же, хотя JPG экспортируется в AVI гораздо быстрее. При экспорте в FLV из JPEG размер получается в несколько раз больше, чем при экспорте из PNG.
Theoristos в сообщении #1056337 писал(а):
Проблема в том, что Математика не сжимает кадры, помещая "как есть".
Если Вы имеете в виду то, что исходные картинки в Математике имеют большой размер, то мне кажется тут дело не в этом, потому что картинки сохранены на диске в уже нормальном размере. Чисто папка с кадрами например весит 100 Мб, а полученный из нее AVI-файл – 2 Гб. В это же время FLV будет весить всего 10 Мб.

На случай, если проблема не будет решена, может кто-нибудь посоветовать хороший конвертер из FLV в AVI? Я попробовал уже штук пять их, и все хоть в каком-то месте, но обязательно сделают что-нибудь криво.

 Профиль  
                  
 
 Re: Mathematica 10.0: экспорт анимаций в AVI-формат
Сообщение28.09.2015, 08:06 


24/01/09
1296
Украина, Днепр
_Er в сообщении #1056708 писал(а):
При экспорте в FLV из JPEG размер получается в несколько раз больше, чем при экспорте из PNG.

Насколько понимаю, там слабенький GZip архиватор работает. На картинках с равномерной заливкой будет выигрыш.

_Er в сообщении #1056708 писал(а):
Theoristos в сообщении #1056337 писал(а):
Проблема в том, что Математика не сжимает кадры, помещая "как есть".
Если Вы имеете в виду то, что исходные картинки в Математике имеют большой размер, то мне кажется тут дело не в этом, потому что картинки сохранены на диске в уже нормальном размере. Чисто папка с кадрами например весит 100 Мб, а полученный из нее AVI-файл – 2 Гб. В это же время FLV будет весить всего 10 Мб.

Говорил о том, что при стандартном кодировании видео, определяется и сохраняется (с потерями) разница между картинками, так что для 10-секундной неподвижной хороший кодек использует памяти как всего на одну картинку, а не будет пихать 10*30 отдельных картинок.
Если конечный файл ещё и весит в 20 раз больше чем сами картинки - есть подозрение, что они в данном случае в Математике хранятся не как JPEG, а как банальный битмап. И сохраняются в видео так же, ужасный вариант.


На случай, если проблема не будет решена, может кто-нибудь посоветовать хороший конвертер из FLV в AVI? Я попробовал уже штук пять их, и все хоть в каком-то месте, но обязательно сделают что-нибудь криво.

Тут всё на любителя, говорят новейший стандарт H265 хорошо жмет такое слайдовое видео. Но пока экзотика.
Из универсальных конвертеров посоветую бесплатный XMedia Recode http://www.xmedia-recode.de/en/download.html
Но не уверен, что есть глубокий смысл переводить именно в flv, как говорил, avi - только контейнер. Для кодирования-сжатия просто avi-шек можно посоветовать классический VirtualDub http://www.virtualdub.org/ .
В любом случае, скорее всего нужны будут установленные на машину видеокодеки (для 64-битных систем с этим есть некоторая проблема) и небольшая настройка кодирования для получения наилучшего размер/качество.
Плюс, скажу, что если презентация предполагается на какой-то чужой машине гнаться за редким форматом сжатия не стоит - такого кодека может не найтись и тогда видео вообще не будет показываться.

 Профиль  
                  
 
 Re: Mathematica 10.0: экспорт анимаций в AVI-формат
Сообщение28.09.2015, 12:08 


24/07/14
138
Theoristos в сообщении #1057231 писал(а):
Тут всё на любителя, говорят новейший стандарт H265 хорошо жмет такое слайдовое видео. Но пока экзотика.
Я не буду сжимать AVI, который выдает Математика, хотя бы потому что она портит качество картинки при экспорте в AVI. Так что я как и раньше буду экспортировать в FLV и попробую конвертировать его в AVI.
Theoristos в сообщении #1057231 писал(а):
Плюс, скажу, что если презентация предполагается на какой-то чужой машине гнаться за редким форматом сжатия не стоит - такого кодека может не найтись и тогда видео вообще не будет показываться.
Поэтому и хочу конвертировать в AVI. Видео в FLV я даже на своей машине пока не смог подключить к презентации (SWF, например, смог, но с ним неудобно работать). А AVI вроде бы как чуть ли не самый распространенный формат, поэтому я попробую работать с ним. Вот только очень странно, что в Математике не сделан нормальный экспорт в этот "самый распространенный формат".

За конвертеры спасибо. Попробую.

 Профиль  
                  
 
 Re: Mathematica 10.0: экспорт анимаций в AVI-формат
Сообщение28.09.2015, 16:24 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
_Er, вам вроде бы всё качественно объяснили, но вы продолжаете путать медиаконтейнеры и кодеки. AVI — медиаконтейнер, а не алгоритм сжатия аудио- и видеопотока, не кодек. Данные, упакованные в файл с расширением AVI, могут быть сжаты с помощью разных алгоритмов. С другой стороны, данные, сжатые определённым алгоритмом (кодеком), могут быть упакованы в какой-то другой контейнер. К примеру, MKV.

 Профиль  
                  
 
 Re: Mathematica 10.0: экспорт анимаций в AVI-формат
Сообщение29.09.2015, 00:02 


24/07/14
138
Aritaborian, можно конкретно, где я что тут путаю? А то я пока что не очень понимаю, в чем проблема.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group