Никакого особого секрета - ffmpeg выдирает кадры из видео и imagemagick склеивает их в длинную картинку, потом эта картинка просто сдвигается на свою ширину, можно даже сервис модный намутить.
Если кто видел еще подобные ролики (пролет вокруг объекта), то кидайты ссылки, хочется покрасивее чего нибудь.
В идеале хочется потом попробовать автоматизировать процесс такой съемки и добавить еще одну ось, чтобы “смотреть” на объект почти с любой стороны.
это всё круговые панорамы, а я имел в виду просмотр объекта… т.е. не находится внутри панорамы и крутить её вокру себя, а находится в другой точки и “крутить” сам объект
вот еще для примера sovgvd.info/3d/v/index_4.php давно с другом загонялись, но тут конечно не коптер вокруг объекта а объект на вращающемся стенде, но это всё не суть, главное откуда смотреть =)
поделись скриптом. тема мега интересная, для зданий более чем
скриптом склеивания кадров?
что-то типа такого вчера на каленке сделал, хотя конечно лучше это через imagemagick делать, с правильным ресайзом
Это php скрипт, который тупо картинки склеивает из папки pictures, соответсвено сперва надо эти картинки подготовить руками или ffmpeg или ее чем, что видео превращает в нужное число картинок, я просто видео срезал и каждый первый кадр в секунде взял, получилось ооколо 20 штук, когда давно экспериментил получалось что надо 36 кадров хотябы, чтобы казалось плавно, т.е. по кадру на каждые 10 градусов оборота, т.е. коптером надо облетать объект за 36 секунд или около того, чтобы потом меньше заморочек было с расчётом кадров.
Вообще если тема интересная, могу на выходных загнаться и сервис написать по быстрому: загружаешь видео, а оно тебе на выходе картинку склееную или js/iframe код для вставки на почти любой сайт.
Конечно интерестна!
Правда для меня это пока много новых букв,надо понять,что да как.
А проха подойдет ?
Любая камера подойдёт, главное снять видео с пролётом вокруг объекта ровно. То что в примере прыгает заметно и человек не в центре, а руками делать и выравнивать долго и не интересно.
Правильные команды для создания и склеивания
ffmpeg:
для создания смотрим длинну видео и считаем сколько в нем кадров (число секунд + то что после точки)*fps
делим полученное число на 36 (число кадров в ленте, можно больше или меньше)
затем надо получить список всех файлов через пробел и скормить их imagemagick-у (находясь в папке /папка/куда/сложим/картинки/)
echo “image-001.png image-002.png и т.д.” | convert @- -sharpen 0x1.0 -filter Lanczos -distort resize 640x +append …/out.jpg
Вот набросал батник для Windows чтобы делать такую длинную картинку. Этот батник делает разбитие на кадры через ffmpeg и склейку через imagemagick, попутно вычисляя высоту готовой картинки, и формирует правильное имя файла для скрпипта.
Батник должен запускаться из каталога, в который скопированы FFMPEG (в подкаталог ffmpeg, а в нем уже должен быть bin, и в нем ffmpeg.exe) и IMAGEMAGICK (в подкаталог imagemagick, а в нем уже convert.exe). Запуск батника без параметров дает подсказку.
Перед запуском удалите все картинки в выходном каталоге!
Параметры:
input_file_name - входной видео-файл;
output_folder - каталог, куда будет класться длинная картинка и промежуточные кадры;
start_time - время начала вырезанного куска в формате MM:SS;
stop_time - время конца вырезанного куска в формате MM:SS;
output_frames - количество кадров в длинной картинке;
output_width - ширина одного кадра в длинной картинке;
[ffmpeg_options] - необязательные параметры FFMPEG (например, для вырезание участка изображения (crop)).
кстати если сюда пихнуть еще и youtube-dl, то можно из видео роликов с ютуба и вимео делать подобные штуки
у меня еще есть идея, кодировать не в длинную jpeg картинку, а в ogv видео и смещать покадрово, вопрос только в том, будет ли выигрышь какой то в размере,
кодирую такой строкой кстати, примерно 1мб на 35ти кадровую картинку выходит:
… convert @- -sharpen 0x1.0 -filter Lanczos -distort resize ШИРИНАx +append -interlace JPEG -quality 80% …/pic_ЧИСЛОКАДРОВ_ШИРИНА_ВЫСОТА.jpg"
Можно делать с ним что хошь 😁
{"assets_hash":"a8b26fa7f6e768b07a72c8c9aadb9422","page_data":{"users":{"41b8a4ac3df9550077792e83":{"_id":"41b8a4ac3df9550077792e83","hid":5271,"name":"Prikupets","nick":"Prikupets","avatar_id":null,"css":""},"4683d68c3df9550077783119":{"_id":"4683d68c3df9550077783119","hid":24868,"name":"HATUUL","nick":"HATUUL","avatar_id":null,"css":""},"46a4c2ac3df955007778230a":{"_id":"46a4c2ac3df955007778230a","hid":26272,"name":"fidller","nick":"fidller","avatar_id":null,"css":""},"4d4325cb3df9550077756c92":{"_id":"4d4325cb3df9550077756c92","hid":79585,"name":"SovGVD","nick":"SovGVD","avatar_id":null,"css":""},"4fe5ff233df9550077742f79":{"_id":"4fe5ff233df9550077742f79","hid":121417,"name":"STRIMSS","nick":"STRIMSS","avatar_id":null,"css":""}},"settings":{"blogs_can_create":false,"blogs_mod_can_delete":false,"blogs_mod_can_hard_delete":false,"blogs_mod_can_add_infractions":false,"can_report_abuse":false,"can_vote":false,"can_see_ip":false,"blogs_edit_comments_max_time":30,"blogs_show_ignored":false,"blogs_reply_old_comment_threshold":30,"votes_add_max_time":168},"entry":{"_id":"53a6b020997073007710fd32","hid":19018,"title":"... делать было нечего","html":"<p>Пока <a href=\"http://copter.sovgvd.info/\" class=\"link link-ext\" data-nd-link-orig=\"http://copter.sovgvd.info/\" target=\"_blank\" rel=\"nofollow noopener\">потихоньку собираю трешку</a>, решил попробовать давно задуманное - сделать из коптерного видео картинку-крутилку, на коленке наваял скриптец, прошу ценить и об <s>си</s> ругивать<br>\n<a href=\"http://sovgvd.info/portfolio/rotate/index.php?p=pic_35_640_360.jpg\" class=\"link link-ext link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"http://sovgvd.info/portfolio/rotate/index.php?p=pic_35_640_360.jpg\" target=\"_blank\" rel=\"nofollow noopener\">sovgvd.info/portfolio/rotate/index.php?p=pic_35_64…</a><br>\nНадавите на картинку и повозюкайте мышкой влево-вправо.</p>\n<p>Ссылка на гитхаб, пока что наколенная штука, чуть позже будет приличный въюер <a href=\"https://github.com/SovGVD/video2photoroll\" class=\"link link-ext link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"https://github.com/SovGVD/video2photoroll\" target=\"_blank\" rel=\"nofollow noopener\">github.com/SovGVD/video2photoroll</a></p>\n<!--cut-->\n<p>Никакого особого секрета - ffmpeg выдирает кадры из видео и imagemagick склеивает их в длинную картинку, потом эта картинка просто сдвигается на свою ширину, можно даже сервис модный намутить.<br>\nЕсли кто видел еще подобные ролики (пролет вокруг объекта), то кидайты ссылки, хочется покрасивее чего нибудь.<br>\nВ идеале хочется потом попробовать автоматизировать процесс такой съемки и добавить еще одну ось, чтобы “смотреть” на объект почти с любой стороны.</p>\n<p>не полный оборот <a href=\"http://sovgvd.info/portfolio/rotate/index.php?p=pic_28_640_360.jpg\" class=\"link link-ext link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"http://sovgvd.info/portfolio/rotate/index.php?p=pic_28_640_360.jpg\" target=\"_blank\" rel=\"nofollow noopener\">sovgvd.info/portfolio/rotate/index.php?p=pic_28_64…</a><br>\nи еще <a href=\"http://sovgvd.info/portfolio/rotate/index.php?p=pic_33_640_360.jpg\" class=\"link link-ext link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"http://sovgvd.info/portfolio/rotate/index.php?p=pic_33_640_360.jpg\" target=\"_blank\" rel=\"nofollow noopener\">sovgvd.info/portfolio/rotate/index.php?p=pic_33_64…</a><br>\nправильная съемка <a href=\"http://sovgvd.info/portfolio/rotate/index.php?p=dji_34_640_360.jpg\" class=\"link link-ext link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"http://sovgvd.info/portfolio/rotate/index.php?p=dji_34_640_360.jpg\" target=\"_blank\" rel=\"nofollow noopener\">sovgvd.info/portfolio/rotate/index.php?p=dji_34_64…</a></p>\n","user":"4d4325cb3df9550077756c92","ts":"2014-06-22T10:29:52.000Z","st":1,"cache":{"comment_count":13,"last_comment":"53aeaef69970730077135265","last_comment_hid":13,"last_ts":"2014-06-28T12:03:02.000Z","last_user":"41b8a4ac3df9550077792e83"},"views":2118,"bookmarks":0,"votes":0},"subscription":null},"locale":"en-US","user_id":"000000000000000000000000","user_hid":0,"user_name":"","user_nick":"","user_avatar":null,"is_member":false,"settings":{"can_access_acp":false,"can_use_dialogs":false,"hide_heavy_content":false},"unread_dialogs":false,"footer":{"rules":{"to":"common.rules"},"contacts":{"to":"rco-nodeca.contacts"}},"navbar":{"tracker":{"to":"users.tracker","autoselect":false,"priority":10},"forum":{"to":"forum.index"},"blogs":{"to":"blogs.index"},"clubs":{"to":"clubs.index"},"market":{"to":"market.index.buy"}},"recaptcha":{"public_key":"6LcyTs0dAAAAADW_1wxPfl0IHuXxBG7vMSSX26Z4"},"layout":"common.layout"}