Uploaded Video did not show on vine app - ios

I found this: https://github.com/VineAPI/VineAPI/blob/master/endpoints.md
I have following Some Process for share video on vine app.
1.Login:https://api.vineapp.com/users/authenticate
Authentication successfully using above doc lin API. I have received a key(session key).
for another Process.
After that use the next Api for Upload Video thumbnail On Vine.
2.thumnails
https://media.vineapp.com/upload/thumbs/1.3.1.mp4.jpg
Thumbnails successfully uploaded On vine and received the server response
get the uploaded thumbnails URL in X-Upload-Key. You can see the Above image.
3.Upload Video:https://media.vineapp.com/upload/videos/1.3.1.mp4
Video Data successfully uploaded On vine and received the server response
get the uploaded Video URL in X-Upload-Key. You can see the Above image.
4.Create Post:https://api.vineapp.com/posts
Post successfully create On vine and received the server response
{
code = "";
data = {
created = "2016-04-18T09:27:20.000000";
permalinkUrl = "https://vine.co/v/iFaqLt7w5Qm";
postId = 1333777877887795200;
videoUrl = "http://v.cdn.vine.co/static/private_post_old_client.mp4";
};
error = "";
success = 1;
}
When Open the permalinkUrl = "https://vine.co/v/iFaqLt7w5Qm"; get error message.You can see in Image
and aslo open link on browser
http://v.cdn.vine.co/static/private_post_old_client.mp4
Video autometically download but video did not download actual video.show some message On Video Like this.
Please Help me.Have you any Idea.

Finally I did it,
Just change the setting of AVAssetExportSession before exporting the video to save.
self.exportSession = [[AVAssetExportSession alloc] initWithAsset:mixComposition
presetName:AVAssetExportPreset640x480];
self.exportSession.outputFileType = AVFileTypeMPEG4;

Related

Python script end Youtube live stream

i have an AJA HELO media streaming device and from time to time it stops streaming. What i want to do it automate some kind of streaming reset. I am able to issue command to the AJA to stop and start streaming, but i need help figuring out how to "End Stream" on my current Youtube Live stream. Just doing so on the AJA does nothing since Youtube still thinks the stream will be back shortly.
Does anyone know of a way to achieve this?
P.S. i am able to retrieve the exact stream identifier via a Python script, as i am monitoring the state in an NMS.
Thanks
I'm not sure if this is directly related, but to end a livestream using the Python google-api-python-client library:
youtube = build("youtube", "v3", credentials = [YOUR CREDENTIALS])
request = youtube.liveBroadcasts().transition(
part = 'snippet',
id = [VIDEO ID OF THE LIVESTREAM],
broadcastStatus = 'complete'
#Setting the 'broadcastStatus' to 'complete' ends the stream
)
response = request.execute()
You can find more details about this in the docs here (including POST): https://developers.google.com/youtube/v3/live/docs/liveBroadcasts/transition

mp4 video on iOS app using Swift

I've been looking at other posted questions regarding playing videos from websites and none of the solutions have worked for me. I get a black screen when I test my app, and the video doesn't seem to ever load.
Globally, I have declared:
var moviePlayer:MPMoviePlayerController!
And within my ViewDidLoad() function, I have:
let url:NSURL = NSURL(string:"http://uapi-f1.picovico.com/v2.1/v/nMirP/ArwenUndomiel.mp4")!
self.moviePlayer = MPMoviePlayerController(contentURL: url)
if let player = self.moviePlayer {
player.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height)
player.view.sizeToFit()
player.scalingMode = MPMovieScalingMode.None
player.movieSourceType = MPMovieSourceType.Streaming
self.view.addSubview(player.view)
player.play()
}
Thanks for the help!
The URL that Picovico have given you actually responds with a message telling the requester that the content is not at this location but that they should try a different location - this is a common technique for URL redirecting.
You can see this if you try the link in a browser and capture the network request and responses. For example using the link you include above in Chrome gives this response:
You can see that the server is telling the client (browser in this case) to redirect (i.e. send a new request) to an S3 amazon URL which is where your video actually has been stored by Picovico.
When the browser then sends it's request to that location it finds the video successfully:
Looking at your video using ffprobe the format seems fine so it seems likely that the iOS client is having a hard time handling the redirect, or else that there was an issues with the URL redirection temporarily on Picovico's servers. If you still have the problem now then the former is most likely the problem.
If you take a look here you can see how someone has solved the problem of iOS media player handling redirects:
iOS Mediaplayer and URL redirection

Uploading to s3, with success callback on iOS

This question perhaps can be trivial, be as I am starting with IOS I'm not sure on what to search for.
I have a backend which handles processing of images, and with browser-based uploads, the images get upload directly to a temp folder in the app's bucket in S3, once done, I send the url to the backend for processing of the image in a background worker.
On IOS, I don't understand how and who is responsible for getting the url of the just-uploaded file to the server or to the app along with some meta data (which user uploaded the file, etc)
Looking at an S3 SDK for mobile example https://aws.amazon.com/articles/3002109349624271 I don't see that this is included.
Is that possible? Is that a common practice to do (get the url back from S3 and send it to the server along with meta data)?
The sample code from link in question.
S3PutObjectRequest *putObjectRequest = [[[S3PutObjectRequest alloc] initWithKey:MY_PICTURE_NAME inBucket:MY_PICTURE_BUCKET] autorelease];
putObjectRequest.contentType = #"image/jpeg";
putObjectRequest.data = imageData;
// Now we need to get the response and check the error which was not in the sample code given in the link
S3PutObjectResponse *putObjectResponse = [s3 putObject:putObjectRequest];
if (!putObjectResponse.error)
{
// Send the KEY to server.
}
Let me know if you have any questions.

Connection reset by peer + browser based upload youtube video

I'm trying to do Browser-based upload from android. In the first steps, the mobile asks my server to get a url and token from youtube. after the mobile got if from the server, the mobile uploads the video to youtube. But sometimes a "Connection Reset By Peer" exception is thrown, after the video was uploaded and can be seen on youtube. How can I avoid this error, or at least check if the video was uploaded correctly?
and another thing, I don't get the youtube_VideoId in the response (in the case there is no exception).
this is the code for the uploading step:
File file = new File(fileName);
try {
HttpClient client = new DefaultHttpClient();
String postURL = url + "?nexturl=http://example.com";
HttpPost post = new HttpPost(postURL);
FileBody bin = new FileBody(file);
MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
reqEntity.addPart("email", new StringBody("XXX#gmail.com", "text/plain", Charset.forName("UTF-8")));
reqEntity.addPart("token", new StringBody(token));
reqEntity.addPart("uploadfile", bin);
this.totalSize = bin.getContentLength();
post.setEntity(reqEntity);
HttpResponse response = client.execute(post);
HttpEntity resEntity = response.getEntity();
Connection reset maybe a happening if there are really long videos. I know there was a bug open for more than an hour connections.
You can check YouTube direct Lite for Android project to poll about video status and processing status.

Facebook permissions to know if a friend uses the same app

I can successfully grab a list of friends with this NSURL, using the permissions "publish_stream":
NSURL *friendsList = [NSURL URLWithString:#"https://graph.facebook.com/me/friends
However, when I try the same thing with an added field, as in this URL:
NSURL *friendsList = [NSURL URLWithString:#"https://graph.facebook.com/me/friends?fields=installed"];
I get an error:
error = {
code = 2500;
message = "An active access token must be used to query information about the current user.";
type = OAuthException;
};
So my question is what permissions should I be asking for to make the second URL work?
Bonus question: What URL param do I include to get a small profile pic come back in the same JSON object?
Thanks :)
According to the docs, you it Requires app access_token. However, playing with Graph API Explorer, I could get this info without this permission.
You can take a look at Graph API Explorer to test.
Also, the query on the above link returns the picture field, which will have an URL with the user picture.

Resources