Screen Recording in Mac using AVFoundation's documentation - objective-c

I have been working on screen recording on MacOS. I have working code for the same based on Apple's Documentation (https://developer.apple.com/library/content/qa/qa1740/_index.html). The problem is that the resolution of the recorded video is very low. According to the logs generated it looks like SD 480x300 is the default resolution. I was unable to find any methods to change the resolution of the video quality. Can somebody help me out here?

I found the solution to the problem. You can set the screen resolution at mSession.sessionPreset = AVCaptureSessionPreset1280x720;
There are several values for the sessionPreset including
AVCaptureScreenPresetLow
AVCaptureScreenPresetMedium
AVCaptureScreenPresetHigh
AVCaptureScreenPreset320x240
AVCaptureScreenPreset352x288
AVCaptureScreenPreset640x480
AVCaptureScreenPreset960x540
AVCaptureScreenPreset1280x720

Related

Is there any library to transform recorded video to certain aspect ratio(croping) in react native?

I am using RNCamera to record video along with react-native-video-helper library for trimming/compressing video. I want to record or transform recorded video like instagram to wide angle(not potrait mode). It's been almost a week I am looking for a solution but I could'nt find anything useful till yet. I have tried react-native-video-processing library as well.
I have figured it out myself, posting answer to any one else struggling with the same scenario:
Go for ffmpeg, you can do almost every thing with this awesome tool, croping, merging, adding emoji's, text to video, triming, removing audio from video and so on.
You can find test application for a quick startup along with the package as well

Aframe VR : Eyeoffset Settings

This SCREENSHOT gets loaded in my Oneplus 6 phone and is creating problem with the Stereoscopic vision, no one is able to create focus with such a high offset between left & right eyes.
Can anyone help me out in setting the eyeoffset parameters, since i haven't been able to figure them out neither on Aframe.io documentation nor Github
Or is there something that i can do from THREE.js Camera
The parameters for OnePlus 6 (A6000) are missing from the webvr-polyfill device database. You can fork the webvr-polyfill and database, add your device (you need to know dpi and bezel width) and see if the problem is solved in the examples. A-Frame will pick it up when we bump the polyfill version on next release. In the meantime you can do your own A-Frame build pointing to your webvr-polyfill fork.

YouTube iFrame API quality parameter "vq" bug - video playback with black screen

There seems to be a huge issue with the iframe url parameter "vq" (in this case "vq=hd720").
If you use this paraneter, the video screen in the flash player turns black.
This example URL worked until today:
http://www.youtube.com/embed/dFVDJlM6zLY?vq=hd720
(feel free to replace the example YouTube ID)
Now, this example works only without the "vq" parameter (vq=hd720):
http://www.youtube.com/embed/dFVDJlM6zLY
The problem is, that we delivered this YouTube iframe in a lot of websites for a lot of clients and it worked quite well for month (years?). Now every single site has black youtube videos!!!
Does anyone know if this parameter was depricated?
Was there a new YouTube API release today?
The parameter was already discussed and recommended in diffrent forums:
e.g. Force youtube embed to start in 720p
Any ideas how to force Google (YouTube) to solve this problem?
It seems that the only way out of this (currently) is to remove the vq parameter or set it to auto. This seems like a widespread problem though, that has occurred very recently. You may wish to star this issue at google make them take notice:
https://code.google.com/p/gdata-issues/issues/detail?id=6009
I was having a similar issue but when I tried to force an embeded youtube video to play in HD at a dimension smaller than the HD resolution.
I was able to get around the "black screen" HD issue by using the old embed code.
If you set the video size to the highest resolution you can then use vq=hd720 parameter and set the video width and height to a lower resolution
<object width="1280" height="720"><param name="movie" value="//www.youtube.com/v/VIDEO_ID?hl=en_US&version=3&rel=0&vq=hd720"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="//www.youtube.com/v/kyilUYoxcww?hl=en_US&version=3&rel=0" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>
Hope this helps!
Just had this exact problem. Found changing it to vq=auto works in the code. But on the videos we're working with it's coming out at a slightly lower quality than we'd like.
Nevertheless, this at least removes the blackout.
What are your 3d settings set to? Here's what I've noticed...
1) Taking away the vq=hd setting works.
2) Turning the 3D setting on the video player ON (or sometimes OFF the ON again) makes the
video work.
3) Curious about number 2, I went to the video settings on the video (the admin settings) and changed the 3D settings under Advanced. I changed it from "Disable 3D for this video" to "Please make this video 3D." For some reason this works -- the vq code is back to working the way it should.
HOWEVER I don't know if I would recommend doing this! The reason I set all my videos to "Disable 3D for this video" in the first place was because if I left on on the on the default "No Preference," it often caused glitches in the video.
Has YouTube changed anything with the 3D settings recently? I think thay may have but am not certain.

Video.js changing source and seeking simultaneously

I am trying to build a site using video.js to view videos. We need to switch videos while maintaining the currentTime value from the old video. The way I have it working right now is using the loadedmetadata event to set currentTime. The problem I am seeing with this is that the first frame of the video gets shown momentarily while the player seeks to the right time. I am new to JS programming so perhaps I am doing something wrong but I do not see anything in the docs that can help me overcome this. I am trying to render H.264/mp4 videos in Chrome. Thanks!
Changing the preload setting to 'metadata' might help this in the browsers that support that setting.
preload="metadata"
Then it supposedly should only load the metadata and trigger the loadedmetadata event, and not show the first frame. That is unless providing any new src forces preloading, and I'm not sure off the top of my head.
HTML5 video doesn't give us a lot of options around seamless switching videos unfortunately. The media source API proposal from Google/Microsoft/Netflix aims to fix this. http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html
You could try this:
https://bitbucket.org/felixschwarz/videojs-hdtoggle/
As seen here on the old videoJS-Forum I think you might have to declare preload="auto".
In the linked forum-threat there are also some changes I made documented.

How to get a screen shot in jmonkey3

I am a newbie with jmonkey.
I have a simple app that i built following the jmonkey tutorials.
How can i grab a screenshot of what jmonkey is displaying. If i could select what of the nodes on the screen would be in the image that would be even better.
There's docs on the JME3 tutorial pages:
http://jmonkeyengine.org/wiki/doku.php/jme3:advanced:screenshots
Just ran into this problem myself; in my case the standard print screen key worked on windowed JME3 apps, but not fullscreen. I searched & found this post, but the link #Chaotic provided seems to be dead. I was able to find the screenshot info in the JME3 wiki which states:
The com.jme3.app.state.ScreenshotAppState enables your users to take screenshots of the running game.
You activate this feature as follows in your simpleInitApp() method:
ScreenshotAppState screenShotState = new ScreenshotAppState();
this.stateManager.attach(screenShotState);
The default screenshot key is KeyInput.KEY_SYSRQ, also known as “System Request / Print Screen key. On Mac keyboards, this key does not exist, so on Mac OS you take screenshots using Command+Shift+3 (fullscreen) or Command+Shift+4 (windowed: press space to select a window and then click).
The screenshot is saved to the user directory.
Version Last updated 2016-07-22 07:15:15 UTC