【问题标题】:Vimeo showing processing error when video uploaded from server to vimeo site using php使用 php 将视频从服务器上传到 vimeo 站点时,Vimeo 显示处理错误
【发布时间】:2016-05-05 05:30:19
【问题描述】:

我正在使用 php webservice 将视频从我的 ios 应用程序上传到服务器。成功上传后,我尝试将其上传到 vimeo。Vimeo 网站为我们提供视频链接 url,但该 url 不起作用。如果我要去 vimeo 网站并查看视频,那么它会显示为处理错误。这是屏幕截图

我正在使用 php vimeo api lib https://github.com/vimeo/vimeo.php

这是我在 ios 应用程序中使用的 php webservice 函数

include_once './autoload.php';
use Vimeo\Vimeo;

function saveVideoDetails($postData, $con)
{
    $client_id = "ClientId";
    $client_secret = "ClientSecret";
    $toke_secret = "TokenSecret";

    $lib = new Vimeo($client_id, $client_secret, $toke_secret);
    $userId = $postData->user_id;
    $videoTitle = addslashes(validateValue($postData->video_title, "Untitled"));
    $videoDescription = addslashes(validateValue($postData->video_description, "No description"));
    $videoEncodedData = $postData->video_encodedData;
    $videoThumbImageData = $postData->video_thumbImageData;
    $videoDuration = $postData->video_Duration;

    $errorMsg = "";

    $uploadDir = IMAGE_UPLOADFOLDER;
    $uploadvdoDir =VIDEO_UPLOADFOLDER;

    $vdoThubName = date('dMYHsa_') . "uid_" . $userId . "_thumb.png";
    $vdoName = date('dMYHsa_') . "uid_" . $userId . "_video.mp4";

    $videoThumbLink = $uploadDir . $vdoThubName;
    $videoLink = $uploadvdoDir . $vdoName;

    if (strlen($videoEncodedData) > 0)
    {
        $binary = base64_decode($videoEncodedData);
        $file = fopen($videoLink,'wb') or die("open failed----> ".$videoLink);
        $P=fwrite($file, $binary);
        if($P)
        {
            fclose($file);
                $urlink =$videoLink;
                $video_response = $lib->request('/me/videos', array('type' => 'pull', 'link' => $urlink), 'POST');
                $vimeo_video_link = $video_response['body']['link'];
                if(!$vimeo_video_link)
                {
                    $status = 3;
                    $errorMsg = "Video upload fail in vimeo";
                }
                else
                {
                   $status = 1;
                    $errorMsg = "Video uploaded";
                }   
        }
        else
        {
            $status = 3;
            $errorMsg = "unable to upload";
        }
    }
    else
    {
        $status = 2;
        $errorMsg = "video data not available";
    }
    $data['status'] = $status;
    $data['message'] = $errorMsg;
    $data['data'] = null;
    return $data;  
}

【问题讨论】:

  • 您能否通过 vimeo.com/help/contact 与 Vimeo 联系并提供处理错误视频的链接?

标签: php ios video vimeo-api


【解决方案1】:

因此在您的代码中没有问题。

您需要检查 vimeo 异常。 在此之前请确保您在 vimeo 请求中作为参数传递的任何视频 URL 是否正确。如果它为 nil 或不正确,则 vimeo 将错误视为无效文件。

$urlink =$videoLink; 
$video_response = $lib->request('/me/videos', array('type' => 'pull', 'link' => $urlink), 'POST'); 
$vimeo_video_link = $video_response['body']['link']; 

在上面的代码中,请检查变量 $urlink 是否正确。

根据 vimeo 条款,如果您使用免费帐户,我们每天可以上传 10 个视频。因此,如果您超过此限制,那么您也无法上传视频。

阅读vimeo术语https://vimeo.com/help/faq/vimeo-membership/vimeo-plus

在您已经使用的 vimeo API 库 (https://github.com/vimeo/vimeo.php) 中,有一个异常文件,因此您可以使用该文件检查异常。

【讨论】:

  • 是的,我正在使用 vimeo 的免费帐户,但我发现了异常 - 每天允许 10 个视频。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-27
  • 2013-04-23
  • 2023-03-07
  • 1970-01-01
  • 2020-02-27
  • 2014-05-02
相关资源
最近更新 更多