Как легко создавать видео в C из серии Каирских полотен? - PullRequest
3 голосов
/ 10 июня 2009

Я пишу некоторые физические симуляции в c для университета, и теперь я вывожу серию из сотен png, которые я затем посмотрю в быстрой последовательности ... Есть ли способ объединить их в видео в c с некоторыми простыми библиотека кодеков без потерь?

P.S. Я использую графику Каира и у меня очень мало опыта в графическом программировании в целом

Ответы [ 3 ]

3 голосов
/ 05 октября 2009

Если вы хотите избежать использования внешней программы, libavcodec , вероятно, является лучшим способом создания видео. Он написан на C и довольно хорошо документирован (см. Ссылку выше).

Дополнительная документация по решению Jonas с использованием mencoder: здесь .

2 голосов
/ 10 декабря 2009

Вы просто хотите посмотреть несколько PNG в качестве видео? Вам не нужно объединять их:

mplayer -fps 2 mf://*.png

В libavcodec ffmpeg есть быстрые кодеки без потерь, если вы хотите сделать это вместо записи PNG. например ffvhuff, или huffyuv.

Или, если вы не хотите использовать libavcodec, вы можете написать необработанный вывод y4m и передать его чему-нибудь. yuv4mpeg - это заголовок с частотой кадров и размером кадра, а затем несжатые пиксели для каждого кадра просто сырые.

2 голосов
/ 10 июня 2009

Не совсем то, что вы просите, но я бы не катил свой, я бы использовал mencoder:

mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o output.avi

PS. mencoder является частью MPlayer и является открытым исходным кодом. DS.

...