"No Source Video Found" 仅在 HLS 流、Kaltura CE 6 和 Wowza 4.1 中出错

"No Source Video Found" error only with HLS streaming, Kaltura CE 6 and Wowza 4.1

我在使用 HLS 流和 HTML5 mwembed 视频播放器时遇到问题。我正在使用 mwembed v2.29.1.2、Kaltura CE 6.0 和 Wowza Streaming Engine 4.1.2。通过 Kaltura Flash 视频播放器播放视频效果很好(通过 Wowza 使用 RTMP 流式传输)但是当尝试在 iOS 设备上访问视频时,我收到消息 "Error: No source video was found."

我直接测试了 Wowza 流式传输,直接播放任何视频都没有问题:http://wowza.medquestreviews.com/kaltura/_definst_/mp4:content/entry/data/4/268/0_uxutn4hk_0_v5nyr0u2_1/playlist.m3u8

这是一个有问题的视频:http://medquestreviews.com/step-3-high-yield/hematology/chapter-3-transfusion-reactions

我查看了 Kaltura 日志文件 apache_access、apache_errors、Kaltura_api_v3 等,我能找到的与此相关的唯一错误是 "error-10" 在 apache 日志中,[thumbnailAction->execute] NOTICE: Error - no FileSync for entry 在 api 日志中。

我怎样才能找到 Kaltura 用来查找 HLS 流的 URL?我仔细检查了远程存储设置,一切正常。

访问 m3u8 playlist/manifest 本身也有效:http://kmc.medquestreviews.com/p/101/sp/10100/playManifest/entryId/0_uxutn4hk/format/applehttp/a.m3u8

HTML5 播放器的 JS 调试输出是:

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

我将 运行 保留在 kaltura_api_v3 日志中的这些行中:

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

文件正在本地存储并通过 FTP 传输到设置为远程存储配置文件的 Wowza 服务器。

卡尔图拉:

[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

魔兽世界:

[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

Kaltura 数据库 file_sync table 也有风味资产条目:

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

日志中的错误也略有不同,具体取决于我是用嵌入视频加载整个页面还是尝试从 iframe 播放器配置 JS 加载 dataUrl。

访问整个页面的日志:

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

直接访问 dataUrl: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

提前感谢您的任何建议!

已解决。 我们通过使用更新版本的 Kaltura CE 并使用其中包含的本机 HLS 集成来修复此问题。 我们还升级了播放器和 HLS 插件。