[App] ScreenCap (OSDcap) - Screen capture

Here are software that related with Samsung B series TVs. Like hex editors, new version of BusyBox or internal software, app programs that will run in your TV hardware.:!:This forum is NOT FOR USER QUESTIONS or Problems.

geo650
Official SamyGO Developer
Posts: 303
Joined: Wed Oct 07, 2009 12:03 pm

Re: OSDcap - Screen (OSD) capture application

Post by geo650 »

gchirtoaca wrote:Can this method be used in PVR application to record live video from other sources than internal tuner, like HDMI STB?
This way, any encryption can be bypassed.
No way! OSDcap captures OSD layer only.
...
Or... if somebody will find the method... Never say never :P
User avatar
erdem_ua
SamyGO Admin
Posts: 3125
Joined: Thu Oct 01, 2009 6:02 am
Location: Istanbul, Turkey
Contact:

Re: OSDcap - Screen (OSD) capture application

Post by erdem_ua »

I really don't know or understand what this application makes. Don't used too. What is meaning to capture "OSD"?
AFAIK OSD means a symbols or images when you are changed the channel or volume... What's the point to capture them?

And we cannot capture video stream from "screen". We don't have a enough bandwidth to move that uncompressed stream out to Ethernet port nor CPU power to encode this stream.
Unlike geo650, I can say never here.
(Just for provoking someone to do proof-of-concept application. :) )
sbav1
Official SamyGO Developer
Posts: 374
Joined: Fri Jan 15, 2010 10:20 am

Re: OSDcap - Screen (OSD) capture application

Post by sbav1 »

erdem_ua wrote:I really don't know or understand what this application makes. Don't used too. What is meaning to capture "OSD"?
AFAIK OSD means a symbols or images when you are changed the channel or volume... What's the point to capture them?
I think there is a point. B-series TVs have (AFAIK) two overlay framebuffers implemented in hardware (so called "planes"); 1st one is used mainly for OSD; 2nd (general-purpose) is utilised by SDL apps/media player controls/flash/widgets etc. So it's not only for OSD. And (just IMO) it may be quite beneficial to understand how they work exactly. For example, in firmware they are configured for upscaled, limted resolution output, but that's not necessarily hardware limitation. Framebuffer in full HD / native panel resolution will be really nice thing to have..
sbav1
Official SamyGO Developer
Posts: 374
Joined: Fri Jan 15, 2010 10:20 am

Re: OSDcap - Screen (OSD) capture application

Post by sbav1 »

erdem_ua wrote: And we cannot capture video stream from "screen". We don't have a enough bandwidth to move that uncompressed stream out to Ethernet port nor CPU power to encode this stream.
Unlike geo650, I can say never here.
(Just for provoking someone to do proof-of-concept application. :) )
Yeah, I think that's deep in the dreaming category.. no built-in hardware video codec in B-series (there is dedicated encoder chip in C-Series models with PVR fuctionality, AFAIK).

However, general purpose screen capture (just stills, no video, but in native panel resolution) is possible; such functionality seems to be allready implemented in Samsung firmware. Here is a little app, with sources, for testing those functions.
It's far from ideal (just for testing; maybe geo650, if interested, can develop more user friendly version in the future ?).

- key "5" captures main screen with mixed-in upscaled OSD overlay plane[s],
- key "6" captures just the main picture, without overlay plane,
- keys "7", "8" - like "5" nad "6", but for secondary screen (currently not really working as expected; more research is needed re calling conventions);
- screen freezes for the fraction of a second when image is captured (that's how it works on hardware level, I belive),
- destination path is hard coded (/dtv/usb/sda1/ );
- saved images are rotated by 180 degrees ( I was just to lazy to fix that),
- looks like it captures post-processed, final (?) screen output (ie. RGB levels allready affected by user brightness/contrast/picture mode settings).
You do not have the required permissions to view the files attached to this post.
geo650
Official SamyGO Developer
Posts: 303
Joined: Wed Oct 07, 2009 12:03 pm

Re: OSDcap - Screen (OSD) capture application

Post by geo650 »

sbav1 wrote:...maybe geo650, if interested, can develop more user friendly version in the future ?).
WOW! You're genius! I already put your procedure into OSDcap. The picture is rotated by horizontal and vertical flips.
You can see my first attempts here:
http://img545.imageshack.us/img545/8801 ... vsathd.jpg
http://img507.imageshack.us/img507/9967 ... ithosd.jpg

But now, the name must be changed. :) What about ScreenCap?
I am working on sound effect at snapshot, but there are some troubles, i.e. TV sound mutes, sound is playing, then only silence is present. I'm not sure if I should initialise SDL audio subsystem. Actually it plays a sample without initialisation.
It's a pity the screen freezes at the moment when snapshot is made. If it would be eliminated, then we could make logo detector that could be used to mute commercials.
But I can see one more application for that function. Now we can make pause function for live video (captured data may be displayed on overlay surface). But maybe Samsung implemented pause function already.

Thanks again, sbav1! Pozdrawiam.
sbav1
Official SamyGO Developer
Posts: 374
Joined: Fri Jan 15, 2010 10:20 am

Re: OSDcap - Screen (OSD) capture application

Post by sbav1 »

geo650 wrote: It's a pity the screen freezes at the moment when snapshot is made. If it would be eliminated,
Who knows; maybe uldDp_DumpVideo() function can be somehow improved (or possibly rewritten from the scratch), but that's hardware level stuff, not easy to reverse engineer..
But I can see one more application for that function. Now we can make pause function for live video (captured data may be displayed on overlay surface). But maybe Samsung implemented pause function already.
Hmm, CVideo::stillvideo, or maybe spIDp_SetFreeze (for more low-level approach, should be easy to call) ?
Another interesting fuction is CViewerApp::t_OnKeyStill(); look like "still/freeze" keycode support is allready implemented, but not enabled for some reasons.
nbd
Posts: 160
Joined: Wed Jan 13, 2010 12:02 pm

Re: OSDcap - Screen (OSD) capture application

Post by nbd »

Hello, good work. The still picture could be used with PVR once it gets the timeshift operation. Eg. you hit pause while watching live TV, the screen pauses and also shows pause icon, and PVR starts recording the live picture, and play starts playing the recorded part while PVR still records.
sbav1
Official SamyGO Developer
Posts: 374
Joined: Fri Jan 15, 2010 10:20 am

Re: OSDcap - Screen (OSD) capture application

Post by sbav1 »

nbd wrote:Hello, good work. The still picture could be used with PVR once it gets the timeshift operation. Eg. you hit pause while watching live TV, the screen pauses and also shows pause icon, and PVR starts recording the live picture, and play starts playing the recorded part while PVR still records.
Timeshift will be great feature to have, but I'm not sure if playing the (partially) recorded stream, while capture is active in the background, is technically possible.
sbav1
Official SamyGO Developer
Posts: 374
Joined: Fri Jan 15, 2010 10:20 am

Re: OSDcap - Screen (OSD) capture application

Post by sbav1 »

Here is updated version of the test application, with some improvements:
- fixed image rotation
- rewrited spIDp_DumpImage/uldDp_DumpVideo (Samsung implementation is a little buggy, file descriptors are not closed on exit),
- added still/freeze support.

Keys 5, 6: screen capture with and without OSD layer (original samsung function called),
Keys 7, 8: like 5 & 6 (reimplemented fuction[s]),
Keys 1, 2: still-freeze on/off; 1 for main screen, 2 for sub layer (PIP).

It seems, image saving works much faster on network shares: 1-1.5 sec per image (compared to 7-8 sec./image on USB drive).
You do not have the required permissions to view the files attached to this post.
reaper7
Posts: 44
Joined: Thu Oct 01, 2009 11:16 am

Re: OSDcap - Screen (OSD) capture application

Post by reaper7 »

sbav1 - nice plug! for me especially useful is "pause" function.
sbav1 & geo650 - will be great to join yours plugins as one...
Most important for me is parallel functionality more that one plugin at the same time,
geo650 created such a thing in the last version OSDcap and when I start OSDcap other plugins like MyButtons still working (rc keys is send to others plugs too)

Post Reply

Return to “[B] Software”