Получить 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('&amp;', '&', $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('&amp;', '&', $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);

}

0 ответов

Другие вопросы по тегам