I'm having issues with HLS streaming and the HTML5 mwembed video player. I'm using mwembed v2.29.1.2, Kaltura CE 6.0, and Wowza Streaming Engine 4.1.2. Playing video through the Kaltura flash video player works fine, (streaming through Wowza with RTMP) but when trying to access the video on an iOS device, I get the message "Error: No source video was found."
I've tested the Wowza streaming directly and have not issues playing any of the videos directly: http://wowza.medquestreviews.com/kaltura/_definst_/mp4:content/entry/data/4/268/0_uxutn4hk_0_v5nyr0u2_1/playlist.m3u8
Here is a video with the issue: http://medquestreviews.com/step-3-high-yield/hematology/chapter-3-transfusion-reactions
I've looked through the Kaltura log files, apache_access, apache_errors, Kaltura_api_v3, etc. and the only error related to this that I can find is "error-10"
in the apache log and [thumbnailAction->execute] NOTICE: Error - no FileSync for entry
in the api log.
How can I go about finding the URL that Kaltura is using to look for the HLS stream? I've double checked the remote storage settings and everything is how it should be.
Accessing the m3u8 playlist/manifest itself works too: http://kmc.medquestreviews.com/p/101/sp/10100/playManifest/entryId/0_uxutn4hk/format/applehttp/a.m3u8
JS debug output from the HTML5 player is:
kWidget: Kaltura HTML5 Version: 2.29.1.2
11170242:1458kWidget: appendScriptUrls
load.php:1565getMarker> No <meta name="ResourceLoaderDynamicStyles"> found, inserting dynamically.
load.php:1565jQuery.fn.embedPlayer :: #kaltura-player
load.php:1565processEmbedPlayers:: playerSelector: #kaltura-player
load.php:1565EmbedPlayer:: addElement:: kaltura-player
load.php:1565processEmbedPlayers::runPlayerSwap::kaltura-player
load.php:1565EmbedPlayer::init:kaltura-player duration is: NaN, size: 355x200
load.php:1565EmbedPlayer::mediaElement:init:kaltura-player
load.php:1565processEmbedPlayers::swapEmbedPlayerElement: kaltura-player
load.php:1565processEmbedPlayers::trigger:: EmbedPlayerNewPlayer kaltura-player
11170242:1458kWidget: jsCallbackReady for kaltura-player
load.php:1565EmbedPlayer::addPlayerElement :trigger startPlayerBuildOut:kaltura-player
load.php:1565EmbedPlayer::checkPlayerSources: kaltura-player
load.php:1565KWidgetSupport::loadAndUpdatePlayerData
load.php:1565KWidgetSupport:: trigger Kaltura_CheckConfig
load.php:1565Error: function enableNativeControls should be implemented by embed player interface
load.php:1565Warning: mediawiki.UtilitiesTime, trying to get npt time on NaN:NaN
load.php:1565Warning: mediawiki.UtilitiesTime, trying to get npt time on NaN:NaN
load.php:1565!!EmbedPlayer:updatePosterHTML:kaltura-player poster:http://kmc.medquestreviews.com/p/101/sp/10100/thumbnail/entry_id/0_mip1dmg3/version/100000/width/355/height/200
load.php:1565EmbedPlayer:updatePosterHTML:kaltura-player poster:http://kmc.medquestreviews.com/p/101/sp/10100/thumbnail/entry_id/0_mip1dmg3/version/100000/width/355/height/200
load.php:1565Error: EmbedPlayer, Must override 'addPlayScreenWithNativeOffScreen' with player inteface
load.php:1565KAnalytics :: doSendAnalyticsEvent > MEDIA_LOADED
load.php:1565KWidgetSupport:: trigger KalturaSupport_DoneWithUiConf
load.php:1565EmbedPlayer::setupSourcePlayer: kaltura-player sources: 0
load.php:1565EmbedPlayer::mediaElement::autoSelectSource
load.php:1565MediaElement::GetPlayableSources mimeFilter:undefined 0 sources playable out of 0
load.php:1565EmbedPlayer::showPlayerError
load.php:1565PlayerLayoutBuilder::displayAlert:: Error
load.php:1565PlayerLayoutBuilder:: displayMenuOverlay
load.php:1565EmbedPlayer::pause()
load.php:1565EmbedPlayer::pauseInterfaceUpdate
load.php:1565EmbedPlayer:: setupSourcePlayer > player ready ( but with errors )
load.php:1565LiveStream :: removeLiveStreamStatusMonitor
load.php:1565EmbedPlayer:: Trigger: widgetLoaded
load.php:1565KAnalytics :: doSendAnalyticsEvent > WIDGET_LOADED
I keep running into these lines in the kaltura_api_v3 log:
2015-04-21 16:56:59 [0.000160] [71.234.194.254] [1637142224] [PS2] [kFileSyncUtils::getReadyFileSyncForKey] NOTICE: kFileSyncUtils::getReadyFileSyncForKey - FileSync was found but doesn't exists locally
2015-04-21 16:56:59 [0.000116] [71.234.194.254] [1637142224] [PS2] [flvclipperAction->execute] NOTICE: Error - no FileSync for flavor [0_v5nyr0u2]
2015-04-21 16:56:59 [0.000139] [71.234.194.254] [1637142224] [PS2] [KExternalErrors::dieError] ERR: exiting on error 5 - required file was not found
Files are being stored locally as well as transferred via FTP to the Wowza server which is setup as a remote storage profile.
kaltura:
[ec2-user@ip-xxxx 268]$ ll *uxutn4hk*
-rwxrwxrwx 1 apache apache 150237 Oct 27 19:17 0_uxutn4hk_0_d6g74099_2.jpg
-rwxrwxrwx 1 apache apache 142816 Oct 27 19:31 0_uxutn4hk_0_jnagm88n_0.conv.log
-rwxrwxrwx 1 apache apache 139861815 Oct 27 19:31 0_uxutn4hk_0_jnagm88n_1.mp4
-rw-r--r-- 1 apache apache 326215877 Oct 27 19:17 0_uxutn4hk_0_v3a7ee0g_1.mp4
-rwxrwxrwx 1 apache apache 39239 Oct 27 19:20 0_uxutn4hk_0_v5nyr0u2_0.conv.log
-rwxrwxrwx 1 apache apache 35568566 Oct 27 19:20 0_uxutn4hk_0_v5nyr0u2_1.mp4
-rwxrwxrwx 1 apache apache 75212 Oct 27 19:24 0_uxutn4hk_0_ye4swbad_0.conv.log
-rwxrwxrwx 1 apache apache 86644533 Oct 27 19:24 0_uxutn4hk_0_ye4swbad_1.mp4
[ec2-user@ip-xxxx 268]$ pwd
/home/ec2-user/kaltura-app-dir/web/content/entry/data/4/268
wowza:
[ec2-user@ip-xxxx 268]$ ll *uxutn4hk*
-rwxrwxrwx 1 kaltura_ftp wowza 139861815 Oct 27 19:32 0_uxutn4hk_0_jnagm88n_1.mp4
-rwxrwxrwx 1 kaltura_ftp wowza 326215877 Oct 27 19:32 0_uxutn4hk_0_v3a7ee0g_1.mp4
-rwxrwxrwx 1 kaltura_ftp wowza 35568566 Oct 27 19:20 0_uxutn4hk_0_v5nyr0u2_1.mp4
-rwxrwxrwx 1 kaltura_ftp wowza 86644533 Oct 27 19:24 0_uxutn4hk_0_ye4swbad_1.mp4
[ec2-user@ip-xxxx 268]$ pwd
/media/video_content/content/entry/data/4/268
the Kaltura database file_sync table also has entries for the flavor asset:
id partner_id object_type object_id version object_sub_type dc original created_at updated_at ready_at sync_time status file_type linked_id link_count file_root file_path file_size custom_data
6350 101 4 0_v5nyr0u2 1 1 3 0 2014-10-27 15:20:20 2014-10-27 15:20:35 2014-10-27 15:20:35 NULL 2 3 NULL NULL /opt/kaltura/web/ /content/entry/data/4/268/0_uxutn4hk_0_v5nyr0u2_1.mp4 -1 NULL
6348 101 4 0_v5nyr0u2 1 1 0 1 2014-10-27 15:20:13 2014-10-27 15:20:35 2014-10-27 15:20:13 NULL 3 1 NULL NULL /opt/kaltura/web/ /content/entry/data/4/268/0_uxutn4hk_0_v5nyr0u2_1.mp4 35568566 NULL
6349 101 4 0_v5nyr0u2 0 2 0 1 2014-10-27 15:20:13 2014-10-27 15:20:13 2014-10-27 15:20:13 NULL 2 1 NULL NULL /opt/kaltura/web/ /content/entry/data/4/268/0_uxutn4hk_0_v5nyr0u2_0.conv.log 39239 NULL
The errors in the log also differ slightly depending on if I load the whole page with the embedded video or I try to load the dataUrl from the iframe player config JS.
logs from access whole page:
2015-04-21 17:14:13 [0.000241] [71.234.194.254] [753153844] [PS2] [kFileSyncUtils::getReadyLocalFilePathForKey] NOTICE: kFileSyncUtils::getReadyLocalFilePathForKey - key [object_type:[4], object_id:[0_v3a7ee0g], version:[1], object_sub_type[1], partner_id[101]], strict []
2015-04-21 17:14:13 [0.000158] [71.234.194.254] [753153844] [PS2] [kFileSyncUtils::getReadyFileSyncForKey] NOTICE: kFileSyncUtils::getReadyFileSyncForKey - key [object_type:[4], object_id:[0_v3a7ee0g], version:[1], object_sub_type[1], partner_id[101]], fetch_from_remote_if_no_local [], strict []
2015-04-21 17:14:13 [0.000932] [71.234.194.254] [753153844] [PS2] [KalturaStatement->execute] DEBUG: /* ip-10-239-172-244[753153844][propel2] */ SELECT file_sync.ID, file_sync.PARTNER_ID, file_sync.OBJECT_TYPE, file_sync.OBJECT_ID, file_sync.VERSION, file_sync.OBJECT_SUB_TYPE, file_sync.DC, file_sync.ORIGINAL, file_sync.CREATED_AT, file_sync.UPDATED_AT, file_sync.READY_AT, file_sync.SYNC_TIME, file_sync.STATUS, file_sync.FILE_TYPE, file_sync.LINKED_ID, file_sync.LINK_COUNT, file_sync.FILE_ROOT, file_sync.FILE_PATH, file_sync.FILE_SIZE FROM `file_sync` WHERE file_sync.OBJECT_ID='0_v3a7ee0g' AND file_sync.OBJECT_TYPE='4' AND file_sync.OBJECT_SUB_TYPE='1' AND file_sync.VERSION='1' AND file_sync.DC='0' AND (file_sync.STATUS='2' AND file_sync.STATUS NOT IN ('3','4')) ORDER BY file_sync.DC ASC
2015-04-21 17:14:13 [0.000438] [71.234.194.254] [753153844] [PS2] [KalturaStatement->execute] DEBUG: Sql took - 0.00026082992553711 seconds
2015-04-21 17:14:13 [0.000187] [71.234.194.254] [753153844] [PS2] [kFileSyncUtils::getReadyFileSyncForKey] NOTICE: kFileSyncUtils::getReadyFileSyncForKey - FileSync was not found
2015-04-21 17:14:13 [0.000749] [71.234.194.254] [753153844] [PS2] [kCoreException->__construct] ERR: Code: [1] Message: [no ready filesync on current DC]
2015-04-21 17:14:13 [0.000670] [71.234.194.254] [753153844] [PS2] [KalturaStatement->execute] DEBUG: /* ip-10-239-172-244[753153844][propel2] */ SELECT flavor_asset.ID, flavor_asset.INT_ID, flavor_asset.PARTNER_ID, flavor_asset.TAGS, flavor_asset.CREATED_AT, flavor_asset.UPDATED_AT, flavor_asset.DELETED_AT, flavor_asset.ENTRY_ID, flavor_asset.FLAVOR_PARAMS_ID, flavor_asset.STATUS, flavor_asset.VERSION, flavor_asset.DESCRIPTION, flavor_asset.WIDTH, flavor_asset.HEIGHT, flavor_asset.BITRATE, flavor_asset.FRAME_RATE, flavor_asset.SIZE, flavor_asset.IS_ORIGINAL, flavor_asset.FILE_EXT, flavor_asset.CONTAINER_FORMAT, flavor_asset.VIDEO_CODEC_ID, flavor_asset.TYPE, flavor_asset.CUSTOM_DATA FROM `flavor_asset` WHERE flavor_asset.ENTRY_ID='0_uxutn4hk' AND flavor_asset.IS_ORIGINAL='1' AND flavor_asset.STATUS<>'3' LIMIT 1
2015-04-21 17:14:13 [0.000400] [71.234.194.254] [753153844] [PS2] [KalturaStatement->execute] DEBUG: Sql took - 0.00022983551025391 seconds
2015-04-21 17:14:13 [0.000927] [71.234.194.254] [753153844] [PS2] [KalturaStatement->execute] DEBUG: /* ip-10-239-172-244[753153844][propel2] */ SELECT file_sync.ID, file_sync.PARTNER_ID, file_sync.OBJECT_TYPE, file_sync.OBJECT_ID, file_sync.VERSION, file_sync.OBJECT_SUB_TYPE, file_sync.DC, file_sync.ORIGINAL, file_sync.CREATED_AT, file_sync.UPDATED_AT, file_sync.READY_AT, file_sync.SYNC_TIME, file_sync.STATUS, file_sync.FILE_TYPE, file_sync.LINKED_ID, file_sync.LINK_COUNT, file_sync.FILE_ROOT, file_sync.FILE_PATH, file_sync.FILE_SIZE FROM `file_sync` WHERE file_sync.OBJECT_ID='0_v3a7ee0g' AND file_sync.OBJECT_TYPE='4' AND file_sync.OBJECT_SUB_TYPE='1' AND file_sync.VERSION='1' AND file_sync.ORIGINAL='1' AND file_sync.STATUS NOT IN ('3','4')
2015-04-21 17:14:13 [0.000468] [71.234.194.254] [753153844] [PS2] [KalturaStatement->execute] DEBUG: Sql took - 0.00028085708618164 seconds
2015-04-21 17:14:13 [0.000202] [71.234.194.254] [753153844] [PS2] [thumbnailAction->execute] NOTICE: Error - no FileSync for entry [0_uxutn4hk]
2015-04-21 17:14:13 [0.000207] [71.234.194.254] [753153844] [PS2] [KExternalErrors::dieError] ERR: exiting on error 10 - missing thumbnail fileSync for entry
accessing dataUrl directly: http://kmc.medquestreviews.com/p/101/sp/10100/flvclipper/entry_id/0_uxutn4hk/version/0
2015-04-21 17:17:26 [0.000106] [71.234.194.254] [1347402480] [PS2] [kFileSyncUtils::getReadyFileSyncForKey] NOTICE: kFileSyncUtils::getReadyFileSyncForKey - key [object_type:[4], object_id:[0_v5nyr0u2], version:[1], object_sub_type[1], partner_id[101]], fetch_from_remote_if_no_local [1], strict []
2015-04-21 17:17:26 [0.000733] [71.234.194.254] [1347402480] [PS2] [KalturaStatement->execute] DEBUG: /* ip-10-239-172-244[1347402480][propel] */ SELECT file_sync.ID, file_sync.PARTNER_ID, file_sync.OBJECT_TYPE, file_sync.OBJECT_ID, file_sync.VERSION, file_sync.OBJECT_SUB_TYPE, file_sync.DC, file_sync.ORIGINAL, file_sync.CREATED_AT, file_sync.UPDATED_AT, file_sync.READY_AT, file_sync.SYNC_TIME, file_sync.STATUS, file_sync.FILE_TYPE, file_sync.LINKED_ID, file_sync.LINK_COUNT, file_sync.FILE_ROOT, file_sync.FILE_PATH, file_sync.FILE_SIZE FROM `file_sync` WHERE file_sync.OBJECT_ID='0_v5nyr0u2' AND file_sync.OBJECT_TYPE='4' AND file_sync.OBJECT_SUB_TYPE='1' AND file_sync.VERSION='1' AND (file_sync.STATUS='2' AND file_sync.STATUS NOT IN ('3','4')) ORDER BY file_sync.DC ASC
2015-04-21 17:17:26 [0.000419] [71.234.194.254] [1347402480] [PS2] [KalturaStatement->execute] DEBUG: Sql took - 0.00025010108947754 seconds
2015-04-21 17:17:26 [0.000241] [71.234.194.254] [1347402480] [PS2] [kFileSyncUtils::getReadyFileSyncForKey] NOTICE: kFileSyncUtils::getReadyFileSyncForKey - FileSync was found but doesn't exists locally
2015-04-21 17:17:26 [0.000169] [71.234.194.254] [1347402480] [PS2] [flvclipperAction->execute] NOTICE: Error - no FileSync for flavor [0_v5nyr0u2]
2015-04-21 17:17:26 [0.000212] [71.234.194.254] [1347402480] [PS2] [KExternalErrors::dieError] ERR: exiting on error 5 - required file was not found
Thanks in advance for any advice!
This is resolved. We fixed this by using a newer version of the Kaltura CE and using the native HLS integration it has in it. We also upgraded the player and the HLS plugin.