Получить Jwplayer или flowplayer для воспроизведения видео с CDN для сценария мелодии php
Я добавляю CDN на веб-сайт обмена видео, но у меня возникают проблемы с настройкой сервера происхождения клиента CDN. Я создал зону извлечения и добавил запись Cname. Мой провайдер CDN отправил мне сообщение: я проверил ваш веб-сайт и заметил, что видео еще не загружено из CDN, но файл загружен с http://www.xxxxxx.com/uploads/videos/ce404c67.mp4 Рекомендуем настроить свой веб-сайт для прослушивания дополнительного имени хоста, например origin.avimeo.com, и настроить этот хост в качестве источника для вашей зоны CDN. После того, как это будет создано, вы должны изменить ссылки в вашем видеопроигрывателе на CNAME, который вы настроили в своей зоне CDN. Таким образом, видеоплеер будет запрашивать контент с нашего CDN, а наш CDN будет показывать фильм (после его загрузки с исходного хоста). Как я могу изменить ссылки в вашем видеоплеере на CNAME. Это шаблон player.tpl для игроков:
Jwplayer:
{if $ video_data.video_player == "jwplayer6"}
{literal}
<script type="text/javascript" src="{/literal}{$smarty.const._URL2}{literal}/players/jwplayer6/jwplayer.js"></script>
<script type="text/javascript">jwplayer.key="{/literal}{$jwplayerkey}{literal}";</script>
<script type="text/javascript">
var flashvars = {
{/literal}
{if $video_data.source_id == 0 || $video_data.source_id == 0}
file: '{$video_data.jw_flashvars.file}',
streamer: '{$video_data.jw_flashvars.streamer}',
{literal}rtmp: {{/literal}
{if $video_data.jw_flashvars.provider != ''} provider: '{$video_data.jw_flashvars.provider}',
{/if}
{if $video_data.jw_flashvars.startparam != ''} startparam: '{$video_data.jw_flashvars.startparam}',
{/if}
{if $video_data.jw_flashvars.loadbalance != ''} loadbalance: {$video_data.jw_flashvars.loadbalance},
{/if}
{if $video_data.jw_flashvars.subscribe != ''} subscribe: {$video_data.jw_flashvars.subscribe},
{/if}
{if $video_data.jw_flashvars.securetoken != ''} securetoken: "{$video_data.jw_flashvars.securetoken}",
{/if}
},
{elseif $video_data.source_id == 3}
{literal}
file: '{/literal}{$video_data.direct}{literal}',
{/literal}
{elseif $video_data.source_id == 1}
{literal}
file: '{/literal}{$video_data.url_flv}{literal}',
{/literal}
{else}
{literal}
file: '{/literal}{$video_data.url_flv}{literal}',
{/literal}
{/if}
{literal}
flashplayer: "{/literal}{$smarty.const._URL2}{literal}/players/jwplayer6/jwplayer.flash.swf",
primary: "flash",
width: "100%",
{/literal}{if $playlist}{literal}
height: "401",
autostart: true,
{/literal}{else}{literal}
height: "{/literal}{$smarty.const._PLAYER_H}{literal}",
autostart: "{/literal}{$smarty.const._AUTOPLAY}{literal}",
{/literal}{/if}{literal}
image: '{/literal}{$video_data.preview_image}{literal}',
stretching: "fill",
events: {
{/literal}{if $playlist}{literal}
onComplete: function() {
window.location = "{/literal}{$playlist_next_url}{literal}";
},
{/literal}{/if}{literal}
onError: function(object) {
ajax_request("video", "do=report&vid={/literal}{$video_data.uniq_id}{literal}&error-message="+ object.message, "", "", false);
{/literal}{if $playlist}{literal}
window.location = "{/literal}{$playlist_next_url}{literal}";
{/literal}{/if}{literal}
}
},
logo: {
file: '{/literal}{$smarty.const._WATERMARKURL}{literal}',
link: '{/literal}{$smarty.const._WATERMARKLINK}{literal}',
}
};
{/literal}{$jw_flashvars_override}{literal}
jwplayer("Playerholder").setup(flashvars);
</script>
{/literal}
ИСТОЧНИК PHP: Вы имеете в виду эту часть:
$video_sources = fetch_video_sources();
$video_src_name = '';
$temp = array();
$video = array();
$mime_type = 'video/x-flv';
$video_id = secure_sql($_GET['vid']);
$sql = "SELECT pm_videos.*, pm_videos_urls.mp4, pm_videos_urls.direct
FROM pm_videos
LEFT JOIN pm_videos_urls
ON (pm_videos.uniq_id = pm_videos_urls.uniq_id)
WHERE pm_videos.uniq_id = '". $video_id ."'";
$result = @mysql_query($sql);
$video = @mysql_fetch_assoc($result);
mysql_free_result($result);
$mime_types = array('flv' => 'video/x-flv',
'mp4' => 'video/mp4',
'mov' => 'video/quicktime',
'wmv' => 'video/x-ms-wmv',
'divx' => 'video/divx',
'avi' => 'video/divx',
'mkv' => 'video/divx',
'asf' => 'video/x-ms-asf',
'wma' => 'audio/x-ms-wma',
'mp3' => 'audio/mpeg',
'm4v' => 'video/mp4',
'm4a' => 'audio/mp4',
'3gp' => 'video/3gpp',
'3g2' => 'video/3gpp2'
);
define('PHPMELODY', true);
$divx_player = false;
if ($video['source_id'] == 1 || $video['source_id'] == 2)
{
$tmp_parts = explode('.', $video['url_flv']);
$ext = array_pop($tmp_parts);
$ext = strtolower($ext);
if ($ext == 'mkv' || $ext == 'avi' || $ext == 'mkv')
{
$divx_player = true;
}
}
if ( ! $divx_player)
{
if ( ! is_user_logged_in() && $video['restricted'] == '1')
{
echo $lang['registration_req'];
exit();
}
}
$video_src_name = strtolower($video_sources[$video['source_id']]['source_name']);
switch ($video_src_name)
{
case 'youtube': // Youtube
include(ABSPATH . _ADMIN_FOLDER ."/src/youtube.php");
if ($video['direct'] == '')
{
$video['direct'] = 'http://www.youtube.com/watch?v='. $video['yt_id'];
}
$flv_url = get_flv($video['direct'], _USE_HQ_VIDS);
break;
case 'dailymotion': // Dailymotion
@include(ABSPATH . _ADMIN_FOLDER ."/src/dailymotion.php");
if (_USE_HQ_VIDS)
{
$flv_url = get_hd($video['direct']);
}
if ((_USE_HQ_VIDS && ($flv_url == '' || strlen($flv_url) < 10)) || ( ! _USE_HQ_VIDS))
{
$flv_url = get_flv($video['direct']);
}
break;
case 'veoh': // VEOH
@include(ABSPATH . _ADMIN_FOLDER ."/src/veoh.php");
do_main($temp, $video['direct']);
$flv_url = $temp['url_flv'];
unset($temp);
break;
case 'metacafe': // Metacafe
@include(ABSPATH . _ADMIN_FOLDER ."/src/metacafe.php");
$flv_url = get_flv($video['direct']);
unset($temp);
break;
case 'funnyordie': // FunnyOrDie
$parts = explode("/", $video['direct']);
$vid_id = $parts[ count($parts)-2 ];
$flv_url = 'http://videos0.ordienetworks.com/videos/'.$vid_id.'/sd.flv';
break;
case 'vimeo': // Vimeo
@include(ABSPATH . _ADMIN_FOLDER ."/src/vimeo.php");
do_main($temp, $video['direct']);
$flv_url = $temp['url_flv'];
unset($temp);
break;
case 'google': // Google
@include(ABSPATH . _ADMIN_FOLDER ."/src/google.php");
do_main($temp, $video['direct']);
$flv_url = $temp['url_flv'];
unset($temp);
break;
case 'myspace': // Myspace
@include(ABSPATH . _ADMIN_FOLDER ."/src/myspace.php");
do_main($temp, $video['direct']);
$flv_url = $temp['url_flv'];
unset($temp);
if ($flv_url == '')
{
report_video($video['uniq_id'], '1', 'The *.FLV URL was not found', 'PM Bot');
}
break;
case 'break': // break.com
if (strpos($video['url_flv'], 'media1.break'))
{
$video['url_flv'] = str_replace('media1.', 'video1.', $video['url_flv']);
$sql = "UPDATE pm_videos SET url_flv = '". secure_sql($video['url_flv']) ."'
WHERE id = '". $video['id'] ."'";
@mysql_query($sql);
}
$flv_url = $video['url_flv'];
break;
case 'sevenload': // sevenload
@include(ABSPATH . _ADMIN_FOLDER ."/src/sevenload.php");
if ($video['direct'] == '')
{
$video['direct'] = 'http://en.sevenload.com/videos/'. $video['yt_id'] .'-';
$headers = fetch_headers($video['direct']);
$arr_length = count($headers);
for($i = 0; $i < $arr_length; $i++)
{
if(strpos($headers[$i], "ocation:") !== false)
{
$str1 = explode("ocation:", $headers[$i]);
$video['direct'] = trim($str1[1]);
break;
}
}
@mysql_query("UPDATE pm_videos_urls SET direct='". $video['direct'] ."' WHERE uniq_id = '". $video['uniq_id'] ."'");
}
do_main($temp, $video['direct']);
$flv_url = str_replace('&', '&', $temp['url_flv']);
unset($temp);
break;
case 'trilulilu': // trilulilu.ro
if (strlen($video['direct']) == 0)
{
if (strlen($video['url_flv']) > 0)
{
$flv_url = $video['url_flv'];
}
else
{
report_video($video['uniq_id'], '1', 'The *.FLV URL was not found', 'PM Bot');
}
}
else
{
@include(ABSPATH . _ADMIN_FOLDER ."/src/trilulilu.php");
do_main($temp, $video['direct']);
$flv_url = $temp['url_flv'];
unset($temp);
}
break;
case 'vbox7':
@include(ABSPATH . _ADMIN_FOLDER ."/src/vbox7.php");
do_main($temp, $video['direct']);
$flv_url = $temp['url_flv'];
unset($temp);
break;
case 'mynet':
@include(ABSPATH . _ADMIN_FOLDER ."/src/mynet.php");
do_main($temp, $video['direct']);
$flv_url = $temp['url_flv'];
$flv_url = str_replace('&', '&', $flv_url);
unset($temp);
break;
default:
if ($video['source_id'] == 1 || $video['source_id'] == 2)
{
if(strpos($video['url_flv'], 'http://') !== false || strpos($video['url_flv'], 'https://') !== false)
{
$flv_url = $video['url_flv'];
}
else
{
$flv_url = _VIDEOS_DIR . $video['url_flv'];
}
$tmp_parts = explode('.', $video['url_flv']);
$ext = array_pop($tmp_parts);
$ext = strtolower($ext);
if (array_key_exists($ext, $mime_types))
{
$mime_type = $mime_types[$ext];
}
else if (function_exists('finfo_open'))
{
$finfo = finfo_open(FILEINFO_MIME);
$mime_type = finfo_file($finfo, _VIDEOS_DIR_PATH . $video['url_flv']);
finfo_close($finfo);
}
}
else
{
$flv_url = $video['url_flv'];
}
break;
}
@update_view_count($video['id'], $video['site_views']);
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Content-Type: ". $mime_type);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header('Location: '. $flv_url);
}