Hello,
http://osmf.org/dev/latest/debug.html
From above debug.html file ( I have this file up on my server) I would like to retreive some of the metrics data and store into the Database.
For example, I want data from "Key Statistics" and "Rendering Info" (some from this) .
Can anyone help me on this ?
Thanks for your help.
There is a similar question http://forums.adobe.com/thread/687758
Andrian answered for this but it seems the link does not work anymore.
Hi Silviu,
I went through the Guide http://sourceforge.net/adobe/smp/wiki/Debug%20Console/
but could not get it work...
Can you provide me a simple example to get Key Statistics ?
Say I have an HTML file with Javascript :
//debug.html
<script type="text/javascript" src="smp/lib/swfobject.js"></script>
<script type="text/javascript" src="smp/lib/ParsedQueryString.js"></script>
<script type="text/javascript" src="smp/lib/debug.js"></script>
<script type="text/javascript">
function loadStrobeMediaPlayback()
{
// Collect query parameters in an object that we can
// forward to SWFObject:
var pqs = new ParsedQueryString();
var parameterNames = pqs.params(false);
var parameters = {
src: "http://players.edgesuite.net/videos/big_buck_bunny/bbb_448x252.mp4",
autoPlay: false,
controlBarAutoHide: false,
playButtonOverlay: true,
showVideoInfoOverlayOnStartUp: true,
javascriptCallbackFunction: "onJavaScriptBridgeCreated"
};
for (var i = 0; i < parameterNames.length; i++) {
var parameterName = parameterNames[i];
parameters[parameterName] = pqs.param(parameterName) ||
parameters[parameterName];
}
if (parameters.hasOwnProperty("logFilter"))
{
org.osmf.player.debug.filter = parameters.logFilter;
delete parameters.logFilter;
document.getElementById("logFilter").value = org.osmf.player.debug.filter;
}
var wmodeValue = "direct";
var wmodeOptions = ["direct", "opaque", "transparent", "window"];
if (parameters.hasOwnProperty("wmode"))
{
if (wmodeOptions.indexOf(parameters.wmode) >= 0)
{
wmodeValue = parameters.wmode;
}
delete parameters.wmode;
}
| // Embed the player SWF: |
swfobject.embedSWF(
"StrobeMediaPlayback.swf"
, "StrobeMediaPlayback"
, 640
, 480
, "10.1.0"
, "expressInstall.swf"
, parameters
, {
allowFullScreen: "true",
wmode: wmodeValue
}
, {
name: "StrobeMediaPlayback"
}
);
}
window.onload = loadStrobeMediaPlayback;
var player = null;
function onJavaScriptBridgeCreated(playerId)
{
if (player == null) {
player = document.getElementById(playerId);
// Add event listeners that will update the
player.addEventListener("isDynamicStreamChange", "updateDynamicStreamItems");
player.addEventListener("switchingChange", "updateDynamicStreamItems");
player.addEventListener("autoSwitchChange", "updateDynamicStreamItems");
player.addEventListener("mediaSizeChange", "updateDynamicStreamItems");
}
}
function updateDynamicStreamItems()
{
document.getElementById("dssc").style.display = "block";
var dynamicStreams = player.getStreamItems();
var ds = document.getElementById("dssc-items");
var switchMode = player.getAutoDynamicStreamSwitch() ? "Auto" : "Manual";
var dsItems = '<strong><a href="#" onclick="player.setAutoDynamicStreamSwitch(!player.getAutoDynamicStre amSwitch()); return false;"> Switch Mode: ' + switchMode + '</a></strong><br /><br />\n';
var currentStreamIndex = player.getCurrentDynamicStreamIndex();
for (var idx = 0; idx < dynamicStreams.length; idx ++)
{
var playing = "";
if (currentStreamIndex == idx)
{
playing = "playing";
}
dsItems += '<a href="#" class=" + playing + " onclick="switchDynamicStreamIndex(' + idx + '); return false;">'
+ dynamicStreams[idx].streamName
+ ' : '
+ dynamicStreams[idx].bitrate
+ "kbps ("
+ dynamicStreams[idx].width
+ "px x "
+ dynamicStreams[idx].height
+ "px)"
+ '</a><br />\n';
}
ds.innerHTML = dsItems;
}
function switchDynamicStreamIndex(index)
{
if (player.getAutoDynamicStreamSwitch())
{
player.setAutoDynamicStreamSwitch(false);
}
player.switchDynamicStreamIndex(index);
}
</script>
I got the way to do it, it may help others.
It was so simple.. I tried the same (if you see my second post in this thread) but did not work.. changed a bit :
<script type="text/javascript">
function trackKeyMetrics() {
//Key Statistics
var downloadRatio = $('#KeyStats__downloadRatio').text();
var downloadKbps = $('#KeyStats__downloadKbps').text();
var playbackKbps = $('#KeyStats__playbackKbps').text();
var lsoDownloadKbps = $('#KeyStats__lsoDownloadKbps').text();
var memory = $('#KeyStats__memory').text();
var droppedFrames = $('#KeyStats__droppedFrames').text();
var avgDroppedFPS = $('#KeyStats__avgDroppedFPS').text();
var StrobeMediaPlaybackMetrics = new Array;
var StrobeMediaPlaybackMetrics = {downloadRatio: downloadRatio, downloadKbps: downloadKbps, playbackKbps: playbackKbps, lsoDownloadKbps: lsoDownloadKbps, memory: memory, droppedFrames: droppedFrames, avgDroppedFPS: avgDroppedFPS};
$.ajax({
type: "POST",
url: "ajx_save_smp_metrics.php",
data: {StrobeMediaPlaybackMetrics : StrobeMediaPlaybackMetrics},
success: function(data) {
}
});
}
</script>
Thank you.
North America
Europe, Middle East and Africa
Asia Pacific