Resize the video to particular resolution 1280X720 selected by AssetsPickerViewController in Swift3 iOS
up vote
0
down vote
favorite
I am creating a Video
based App in Swift3
. Where user can select multiple videos
from device gallery
using AssetsPickerViewController
. My requirement is I have to first check the selected video resolution
, if the resolution
is already 1280X720
then I don't have to resize
it otherwise I have to resize
to video resolution
1280X720
.
Here is my code for resolution
comparison:
func assetsPicker(controller: AssetsPickerViewController, selected assets: [PHAsset]) {
if assets[0].mediaType == .video{
let options: PHVideoRequestOptions = PHVideoRequestOptions()
options.version = .original
options.isNetworkAccessAllowed = true
self.showLoaderView()
for i in 0..<self.assets.count {
let videos = VideoFileModel()
PHImageManager.default().requestAVAsset(forVideo: self.assets[i] , options: options, resultHandler: { (asset, audioMix, info) in
let urlAsset = asset as! AVURLAsset
DispatchQueue.main.async {
let localVideoUrl = urlAsset.url
var frameRate = CGSize()
frameRate = self.resolutionForLocalVideo(url: localVideoUrl)!
let actualFrameRate = CGSize(width: 1280, height: 720)
if frameRate.equalTo(actualFrameRate){
//resolutions are equal (don't have to resize)
}
else{
//resolutions are not equal (resize to 1280 X 720)
}
self.loadingLayerView.removeFromSuperview()
}
}
Can anyone help me to resize the Video resolution here, Thank you!
ios video swift3 avasset avassetexportsession
add a comment |
up vote
0
down vote
favorite
I am creating a Video
based App in Swift3
. Where user can select multiple videos
from device gallery
using AssetsPickerViewController
. My requirement is I have to first check the selected video resolution
, if the resolution
is already 1280X720
then I don't have to resize
it otherwise I have to resize
to video resolution
1280X720
.
Here is my code for resolution
comparison:
func assetsPicker(controller: AssetsPickerViewController, selected assets: [PHAsset]) {
if assets[0].mediaType == .video{
let options: PHVideoRequestOptions = PHVideoRequestOptions()
options.version = .original
options.isNetworkAccessAllowed = true
self.showLoaderView()
for i in 0..<self.assets.count {
let videos = VideoFileModel()
PHImageManager.default().requestAVAsset(forVideo: self.assets[i] , options: options, resultHandler: { (asset, audioMix, info) in
let urlAsset = asset as! AVURLAsset
DispatchQueue.main.async {
let localVideoUrl = urlAsset.url
var frameRate = CGSize()
frameRate = self.resolutionForLocalVideo(url: localVideoUrl)!
let actualFrameRate = CGSize(width: 1280, height: 720)
if frameRate.equalTo(actualFrameRate){
//resolutions are equal (don't have to resize)
}
else{
//resolutions are not equal (resize to 1280 X 720)
}
self.loadingLayerView.removeFromSuperview()
}
}
Can anyone help me to resize the Video resolution here, Thank you!
ios video swift3 avasset avassetexportsession
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I am creating a Video
based App in Swift3
. Where user can select multiple videos
from device gallery
using AssetsPickerViewController
. My requirement is I have to first check the selected video resolution
, if the resolution
is already 1280X720
then I don't have to resize
it otherwise I have to resize
to video resolution
1280X720
.
Here is my code for resolution
comparison:
func assetsPicker(controller: AssetsPickerViewController, selected assets: [PHAsset]) {
if assets[0].mediaType == .video{
let options: PHVideoRequestOptions = PHVideoRequestOptions()
options.version = .original
options.isNetworkAccessAllowed = true
self.showLoaderView()
for i in 0..<self.assets.count {
let videos = VideoFileModel()
PHImageManager.default().requestAVAsset(forVideo: self.assets[i] , options: options, resultHandler: { (asset, audioMix, info) in
let urlAsset = asset as! AVURLAsset
DispatchQueue.main.async {
let localVideoUrl = urlAsset.url
var frameRate = CGSize()
frameRate = self.resolutionForLocalVideo(url: localVideoUrl)!
let actualFrameRate = CGSize(width: 1280, height: 720)
if frameRate.equalTo(actualFrameRate){
//resolutions are equal (don't have to resize)
}
else{
//resolutions are not equal (resize to 1280 X 720)
}
self.loadingLayerView.removeFromSuperview()
}
}
Can anyone help me to resize the Video resolution here, Thank you!
ios video swift3 avasset avassetexportsession
I am creating a Video
based App in Swift3
. Where user can select multiple videos
from device gallery
using AssetsPickerViewController
. My requirement is I have to first check the selected video resolution
, if the resolution
is already 1280X720
then I don't have to resize
it otherwise I have to resize
to video resolution
1280X720
.
Here is my code for resolution
comparison:
func assetsPicker(controller: AssetsPickerViewController, selected assets: [PHAsset]) {
if assets[0].mediaType == .video{
let options: PHVideoRequestOptions = PHVideoRequestOptions()
options.version = .original
options.isNetworkAccessAllowed = true
self.showLoaderView()
for i in 0..<self.assets.count {
let videos = VideoFileModel()
PHImageManager.default().requestAVAsset(forVideo: self.assets[i] , options: options, resultHandler: { (asset, audioMix, info) in
let urlAsset = asset as! AVURLAsset
DispatchQueue.main.async {
let localVideoUrl = urlAsset.url
var frameRate = CGSize()
frameRate = self.resolutionForLocalVideo(url: localVideoUrl)!
let actualFrameRate = CGSize(width: 1280, height: 720)
if frameRate.equalTo(actualFrameRate){
//resolutions are equal (don't have to resize)
}
else{
//resolutions are not equal (resize to 1280 X 720)
}
self.loadingLayerView.removeFromSuperview()
}
}
Can anyone help me to resize the Video resolution here, Thank you!
ios video swift3 avasset avassetexportsession
ios video swift3 avasset avassetexportsession
asked Nov 19 at 5:59
user2786
1061620
1061620
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53369076%2fresize-the-video-to-particular-resolution-1280x720-selected-by-assetspickerviewc%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown