How do I get MPAVController "setting movie path" - objective-c

I'm developing a video app using UIWebView.
MPAVController launch when connect to video sites, Movie URL is displayed in the debug console.
Example:
2012-10-17 04:50:57.391 MovieApp[43145:14003] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 0, on player: 1)
2012-10-17 04:50:57.392 MovieApp[43145:14003] setting movie path: 【MOVIE URL】
2012-10-17 04:50:57.392 MovieApp[43145:14003] [MPAVController] Autoplay: Enabling autoplay
How do I get "setting movie path"?
Thanks.

MPAVController is entirely private and you are not supposed to do anything directly on its instance.

Related

Change the background image in the media prompt

I want to switch the image background of a media prompt, because it's only
blank above and under media window.
I saw that on the example from google, they switch this background.
Can you help me with code in YAML?
candidates:
- first_simple: {}
content:
media:
optional_media_controls:
- PAUSED
- STOPPED
media_objects:
- name: Précisions
description: 'Abayan, le sage'
url: 'https://sndup.net/4m3z/01_mixdown2.mp3'
image:
large:
url: >-
https://upload.wikimedia.org/wikipedia/commons/e/ea/GANDALF.jpg
media_type: AUDIO

Low latency RTMP playback with video.js

i'am trying to play a RTMP stream with low latency uinsg HTML5, vido.js and videojs-flash. For now i can get the stream to display with a 3-4 seconds latency but playing the same stream with ffplay gives a sub-second latency.
Looking at older videojs version it seems that some code that allowed to specify flashvars to be passed to the swf object were never merged. In newer video.js version, one can use the videojs-flash plugin to play a flash video and this plugin seems to support flashVars in the player options and this vars are passed to the swf object.
Did anyone used this feature and how can i provide the flashVars option to the videojs object .
This is the code i tried so far :
var player = videojs('my-video', {
autoplay: true,
muted: true,
preload: "auto",
sources: [{
type: "rtmp/flv",
}],
flashVars: {
buffertime: 0
}
});
if found an answer to my own question that reduces the latency quite a lot. It's not very stable for now since i sometimes get ~1s latency but can go up to 3s. The solution is to use a patched swf that will interpre take into account the buffering options. Now the player initialization becomes:
var player = videojs('my-video', {
techOrder: ['flash'],
autoplay: true,
sources: [{
type: "rtmp/flv",
}],
bufferTime: 0,
flash: {
swf: "js/video-js.swf",
flashVars: {
bufferTime: 0,
autoPlay: true,
bufferTimeMax: 0.25
}
}
});
the video-js.swf is compiled from the patched version at :
https://github.com/sea-kg/video-js-swf.git
Just compile this version and use the "swf:" flash option to provide the path to this swf.
This reduces the latency significantly but in my experience, the latency can vary per connection.

I'm trying to implement Screenshare but getting this error: MediaError "Access to screen denied"

I am using the Web SDK for Agora.io and trying to implement video chat feature and have screen sharing enabled. However, I am getting this issue:
MediaError "Access to screen denied
Seems like your web page does not have the right to access the device. Not sure which browser you are working with. If your browser is Chrome/Chromium, try: Change site permissions.
Or test your browser with their tools: Agora Web Trouble shooting, Agora Web Demo
You can use Chrome or Firefox with Agora.io to screenshare. Make sure that you are deploying to HTTPS.
Firefox:
screenStream = AgoraRTC.createStream({
streamID: uid,
audio: false,
video: false,
screen: true,
mediaSource: 'screen' // 'screen', 'application', 'window'
});
Chrome:
screenStream = AgoraRTC.createStream({
streamID: uid,
audio: false,
video: false,
screen: true,
//chrome extension ID
extensionId: 'EXTENTION-ID-HERE'
});
Are you using Chrome? Check a few things:
Check that the extension ID matches
Check the domain name matches in the manifest.json file
Chrome Plugin Reference page

Can I receive video without giving permission to browser to use my camera in SimpleWebRTC?

Does SimpleWebRTC has this feature to get data(video/audio) without giving permission to browser to use my camera/microphone?
// create our webrtc connection
var webrtc = new SimpleWebRTC({
// the id/element dom element that will hold "our" video
localVideoEl: 'localVideo',
// the id/element dom element that will hold remote videos
remoteVideosEl: '',
// immediately ask for camera access
**autoRequestMedia: true,**
debug: true,
detectSpeakingEvents: true,
autoAdjustMic: false,
media: {
video: false,
**audio: true**
},
});
When I change those parts surrounded by asterisks to true it works, otherwise it doesn't.
Have you tried setting autoRequestMedia to true and while having both video and audio of the media object set to false? You should receive the readyToCall event and can join the room as shown on the simplewebrtc homepage.
First negotiate (accept the call/join the room) with video and audio and then disable the video, somehting like webrtc.videoStreams.disable()

Disable branch.io smart banner for non-ios and non-android platforms?

Is there a way to disable branch.io smart banner for all non-ios and non-android platforms?
For eg. disabling smart banner for windows, blackberry etc.
Alex from Branch.io here: sure is! Take a look at the parameters here.
branch.banner({
icon: 'http://icons.iconarchive.com/icons/wineass/ios7-redesign/512/Appstore-icon.png',
title: 'Branch Demo App',
description: 'The Branch demo app!',
rating: 5, // Displays a star rating out of 5. Supports half stars through increments of .5
reviewCount: 1500, // Amount of reviews your app has received next to the star rating
openAppButtonText: 'Open', // Text to show on button if the user has the app installed
downloadAppButtonText: 'Download', // Text to show on button if the user does not have the app installed
sendLinkText: 'Send Link', // Text to show on desktop button to allow users to text themselves the app
phonePreviewText: '+44 9999-9999', // The default phone placeholder is a US format number, localize the placeholder number with a custom placeholder with this option
showiOS: true, // Should the banner be shown on iOS devices (both iPhones and iPads)?
showiPad: true, // Should the banner be shown on iPads (this overrides showiOS)?
showAndroid: true, // Should the banner be shown on Android devices?
showBlackberry: true, // Should the banner be shown on Blackberry devices?
showWindowsPhone: true, // Should the banner be shown on Windows Phone devices?
showKindle: true, // Should the banner be shown on Kindle devices?
showDesktop: true, // Should the banner be shown on desktop devices?
iframe: true, // Show banner in an iframe, recomended to isolate Branch banner CSS
disableHide: false, // Should the user have the ability to hide the banner? (show's X on left side)
forgetHide: false, // Should we show the banner after the user closes it? Can be set to true, or an integer to show again after X days
respectDNT: false, // Should we skip showing the banner when a user's settings show 'Do Not Track'?
mobileSticky: false, // Determines whether the mobile banner will be set `position: fixed;` (sticky) or `position: absolute;`, defaults to false *this property only applies when the banner position is 'top'
desktopSticky: true, // Determines whether the desktop banner will be set `position: fixed;` (sticky) or `position: absolute;`, defaults to true *this property only applies when the banner position is 'top'
make_new_link: false, // Should the banner create a new link, even if a link already exists?
open_app: false, // Should the banner try to open the app passively (without the user actively clicking) on load?
}, {
tags: ['tag1', 'tag2'],
feature: 'dashboard',
stage: 'new user',
data: {
mydata: 'something',
foo: 'bar',
'$deeplink_path': 'open/item/1234'
}
});