4.3 версия
- Mr. Kibernetik
- Site Admin
- Posts: 4786
- Joined: Mon Nov 19, 2012 10:16 pm
- My devices: iPhone, iPad, MacBook
- Location: Russia
- Flag:
Re: 4.3 версия
В частности браузер имеет замечательный встроенный медиаплеер. Его можно будет использовать в sB.
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: 4.3 версия
Интересно! ПосмотримMr. Kibernetik wrote:В частности браузер имеет замечательный встроенный медиаплеер. Его можно будет использовать в sB.
- Mr. Kibernetik
- Site Admin
- Posts: 4786
- Joined: Mon Nov 19, 2012 10:16 pm
- My devices: iPhone, iPad, MacBook
- Location: Russia
- Flag:
Re: 4.3 версия
Дело в том, что сейчас можно писать видео с камеры - вот и возникла потребность в его просмотре прямо в бейсике
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: 4.3 версия
С учётом появления камеры в sB может целесообразно будет сделать прямой доступ к стандартному фотоальбому устройства? Я это пожелание озвучивал ранее... И опять же прямой выход в DROPBOX
Можно сделать отличную прогу для фоток, а в дальнейшем и редактор изображений. С учетом того что изображения можно будет подгружать из дропбокса в устройство на прямую без заморочек с icloud наверное будет здорово.
Можно сделать отличную прогу для фоток, а в дальнейшем и редактор изображений. С учетом того что изображения можно будет подгружать из дропбокса в устройство на прямую без заморочек с icloud наверное будет здорово.
- Mr. Kibernetik
- Site Admin
- Posts: 4786
- Joined: Mon Nov 19, 2012 10:16 pm
- My devices: iPhone, iPad, MacBook
- Location: Russia
- Flag:
Re: 4.3 версия
Обновление предыдущей информации: объект BROWSER будет иметь возможность загружать локальные файлы, если специально не указан протокол HTTP://
- Mr. Kibernetik
- Site Admin
- Posts: 4786
- Joined: Mon Nov 19, 2012 10:16 pm
- My devices: iPhone, iPad, MacBook
- Location: Russia
- Flag:
Re: 4.3 версия
Да, так и будет.Фант wrote:И еще...при запуске с иконки можно убрать все видимые процессы не связанные с этий программой, пусть будет черный экран до появления самой программы.
Пример программы "hello world.txt" будет обновлен.
- Mr. Kibernetik
- Site Admin
- Posts: 4786
- Joined: Mon Nov 19, 2012 10:16 pm
- My devices: iPhone, iPad, MacBook
- Location: Russia
- Flag:
Re: 4.3 версия
Будет добавлен новый пример программы "motion detector.txt" в секцию Interactive Interface.
Эта программа осуществляет мониторинг с камеры устройства, в случае обнаружения движения перед камерой включает видеозапись и пишет до тех пор, пока движение перед камерой продолжается. В программе можно просматривать все записанные видеофрагменты.
Эта программа осуществляет мониторинг с камеры устройства, в случае обнаружения движения перед камерой включает видеозапись и пишет до тех пор, пока движение перед камерой продолжается. В программе можно просматривать все записанные видеофрагменты.
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: 4.3 версия
Это Ваша разработка или стандартные возможности?Mr. Kibernetik wrote:Будет добавлен новый пример программы "motion detector.txt" в секцию Interactive Interface.
Эта программа осуществляет мониторинг с камеры устройства, в случае обнаружения движения перед камерой включает видеозапись и пишет до тех пор, пока движение перед камерой продолжается. В программе можно просматривать все записанные видеофрагменты.
- Mr. Kibernetik
- Site Admin
- Posts: 4786
- Joined: Mon Nov 19, 2012 10:16 pm
- My devices: iPhone, iPad, MacBook
- Location: Russia
- Flag:
Re: 4.3 версия
Это делает программа - пример. Алгоритм работы такой:Фант wrote:Это Ваша разработка или стандартные возможности?
программа получает очередной кадр с камеры, попиксельно сравнивает его содержимое с предыдущим кадром. Если находит разницу между кадрами, то включает видеозапись в файл, при этом продолжая проверять кадры. Как только кадры перестают различаться, видеозапись прекращается.
Программа на ходу генерит содержимое окна BROWSER, содержащего страницу со всеми записанными видеофайлами, которую можно полистать и тут же воспроизвести нужное видео.
При этом программа интерактивно отображает как видео с самой камеры, так и в отдельном окне показывает анализируемые точки, отображая как стабильные, так и изменившиеся точки кадра, плюс выделяет ту часть кадра, в которой замечено движение. Это все работает в реальном времени, даже на iPhone 3GS.
Code: Select all
/*
Motion Detector v1.0
Copyright © Mr.K, 2014
Detects motion and records it to video.
*/
cam.q=5 'detection quality [1,..] best=1
cam.s=0.15 'detection sensivity [0..1] lowest=1
dir "cache" delete
dir "cache" create
frame$="cache/tmp.jpg"
option screenlock off
settled=0
get orientation scr.o
set orientation scr.o
graphics
scr.w=screen_width()
scr.h=screen_height()
gosub cam_is_off
gosub cam_not_set
browser 1 at 0,scr.h/2 size scr.w,scr.h/2
browser 1 set text "No records"
camera 1 at back video
get camera 1 size cam.w,cam.h
if cam.w=0 then
text
print "Camera is not available"
end
endif
dim cam.pix(3,cam.w,cam.h)
'sprite to show camera
sprite 1 begin scr.w/2,scr.h/2
sprite end
sprite 1 show
camera 1 view 1
'main loop
loop:
camera 1 snapshot frame$
gosub detect
if recording and endtime<timer() then
'stop recording
camera 1 stop
recording=0
gosub edit_browser
recnum+=1
gosub no_motion
endif
goto loop
edit_browser:
alltext$&="<video><source src=""cache/"&recnum&".mov""></video>"
browser 1 set text "<html><body>"&alltext$&"</body></html>"
return
no_motion:
sprite 2 begin scr.w/2,scr.h/2
refresh off
fill color 0,0,1
fill rect 0,0 to scr.w/2,scr.h/2
draw_text("Motion",0,3)
draw_text("not",1,3)
draw_text("detected",2,3)
sprite end
sprite 2 at scr.w/2,0
sprite 2 show
return
cam_not_set:
sprite 2 begin scr.w/2,scr.h/2
refresh off
fill color 0,0,1
fill rect 0,0 to scr.w/2,scr.h/2
draw_text("Camera",0,3)
draw_text("not",1,3)
draw_text("settled",2,3)
sprite end
sprite 2 at scr.w/2,0
sprite 2 show
return
cam_is_off:
fill color 0,0,0
fill rect 0,0 to scr.w/2,scr.h/2
draw_text("Camera",0,2)
draw_text("is OFF",1,2)
return
'detects movement
detect:
sprite 0 load frame$
sprite 0 begin
motion=0
xs=0
maxx=0 ! minx=cam.w
maxy=0 ! miny=cam.h
draw color 1,0,0
draw size 1
for y=cam.q to cam.h-cam.q step cam.q
xs+=cam.q
if xs>cam.q*2 then xs=cam.q
for x=xs to cam.w-cam.q step cam.q*2
get pixel x,y color r,g,b
ro=cam.pix(0,x,y)
go=cam.pix(1,x,y)
bo=cam.pix(2,x,y)
if abs(r-ro)>=cam.s or abs(g-go)>=cam.s or abs(b-bo)>=cam.s then 'motion detected
motion=1
if x>maxx then maxx=x
if x<minx then minx=x
if y>maxy then maxy=y
if y<miny then miny=y
draw rect x-1,y-1 to x+1,y+1
else
draw pixel x,y color 0,1,0
endif
cam.pix(0,x,y)=r
cam.pix(1,x,y)=g
cam.pix(2,x,y)=b
next x
next y
sprite 1 end
if not motion and not settled then
settled=1
gosub no_motion
endif
if motion and maxx=minx and maxy=miny then motion=0
if motion and settled then
endtime=timer()+3000
'display motion part
sprite 0 begin
draw color 1,0,0
draw size 3
draw rect minx,miny to maxx,maxy
sprite end
sprite 0 resize scr.w/2,scr.h/2
sprite 0 at scr.w/2,0
sprite 0 show
sprite 2 delete
sprite 0 rename 2
if not recording then
'start recording
camera 1 record "cache/"&recnum&".mov"
recording=1
endif
endif
return
def draw_text(t$,n,tn)
draw color 1,1,1
fs=scr.w/15
draw font size fs
off=(scr.h/2-fs*tn)/3
draw text t$ at (scr.w/2-text_width(t$))/2,fs*n+off
enddef
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: 4.3 версия
Очень интересно! А то хожу все и думаю как? Сразу первый вариант: снимок и попиксельный анализ , но потом подумал, что может это слишком для памяти ёмко и Вы чтото другое придумали
И что на айпаде 1 память не переполняет?
И что на айпаде 1 память не переполняет?