Welcome Guest, Not a member yet? Register   Sign In
help watermark for video codeigniter
#1

How do I add the code tags when uploading video watermark images to be added for this code




PHP Code:
<?php
if (!defined("BASEPATH"))
 
   {
 
   exit("No direct script access allowed");
 
   }
ini_set("max_execution_time"0);
ini_set("memory_limit""64M");
class 
video
    
{
 
   private $CI;
 
   private $error;
 
   private $video_id;
 
   private $path_video "uploads/videos/";
 
   private $config;
 
   private $vid_ext = array("mp4""flv""mpeg""avi");
 
   public function __construct()
 
       {
 
       $this->CI =& get_instance();
 
       $this->CI->load->model("admin/setting_model");
 
       $this->config               $this->CI->setting_model->get_custom_settings(array(
 
           "dailymotion_video_download",
 
           "youtube_video_download",
 
           "youtube_video_quality",
 
           "dailymotion_video_quality"
 
       ));
 
       $this->curl_follow_location $this->CI->config->item("curl_follow_location");
 
       $this->video_limit_size     $this->CI->config->item("video_limit_size");
 
       $this->providers            $this->CI->config->item("video_down_providers");
 
       }
 
   public function getVideo($url$provider NULL)
 
       {
 
       $this->video_id NULL;
 
       if ($provider != NULL)
 
           {
 
           return $this->$provider($url);
 
           }
 
       if (count($this->providers))
 
           {
 
           foreach ($this->providers as $provider)
 
               {
 
               if (strposa($url$provider["needle"]))
 
                   {
 
                   return $this->$provider["value"]($url);
 
                   }
 
               }
 
           }
 
       $this->error "The content url you entered did not match any service provider.Make sure the video Url is correct.";
 
       return false;
 
       }
 
   public function dailymotion($url)
 
       {
 
       if ($this->config["dailymotion_video_download"] != 1)
 
           {
 
           $this->error "Video downloads seem to be closed at Youtube Api.";
 
           return false;
 
           }
 
       if (strpos($url"dailymotion"))
 
           {
 
           $this->video_id strtok(basename($url), "_");
 
           }
 
       else
            
{
 
           if (strpos($url"dai.ly"))
 
               {
 
               $this->video_id end(explode("/"));
 
               }
 
           }
 
       if (preg_match("#[A-Za-z0-9]#si"$this->video_id$matches))
 
           {
 
           $get                 curlGet("http://www.dailymotion.com/embed/video/" $this->video_id);
 
           $data["duration"   "";
 
           $data["description"] = $data["duration"];
 
           $data["thumbnail"  $data["description"];
 
           $data["title"      $data["thumbnail"];
 
           switch ($this->config["youtube_video_quality"])
 
           {
 
               case "good":
 
                   $target_formats = array(
 
                       "stream_h264_hd1080_url",
 
                       "stream_h264_hd_url",
 
                       "stream_h264_hq_url",
 
                       "stream_h264_ld_url",
 
                       "stream_h264_url"
 
                   );
 
                   break;
 
               case "medium":
 
                   $target_formats = array(
 
                       "stream_h264_hd_url",
 
                       "stream_h264_hq_url",
 
                       "stream_h264_ld_url",
 
                       "stream_h264_hd1080_url",
 
                       "stream_h264_url"
 
                   );
 
                   break;
 
               case "low":
 
                   $target_formats = array(
 
                       "stream_h264_url",
 
                       "stream_h264_ld_url",
 
                       "stream_h264_hq_url",
 
                       "stream_h264_hd_url",
 
                       "stream_h264_hd1080_url"
 
                   );
 
           }
 
           $formats = array(
 
               "stream_h264_url",
 
               "stream_h264_ld_url",
 
               "stream_h264_hq_url",
 
               "stream_h264_hd_url",
 
               "stream_h264_hd1080_url"
 
           );
 
           foreach ($formats as $format)
 
               {
 
               if (preg_match("#\"" $format "\"\\:\"(.*?)\"#si"$get$videoSource))
 
                   {
 
                   $avail_formats[$format] = str_replace("\\/""/"urldecode($videoSource[1]));
 
                   }
 
               }
 
           if (!isset($avail_formats))
 
               {
 
               $this->error "Video source not found.";
 
               return false;
 
               }
 
           $data["duration"   "";
 
           $data["description"] = $data["duration"];
 
           $data["thumbnail"  $data["description"];
 
           $data["title"      $data["thumbnail"];
 
           foreach ($target_formats as $target_format)
 
               {
 
               foreach ($avail_formats as $avail_format_name => $avail_format)
 
                   {
 
                   if ($target_format == $avail_format_name)
 
                       {
 
                       $data["videoUrl"] = $avail_format;
 
                       }
 
                   }
 
               }
 
           if (!isset($data["videoUrl"]))
 
               {
 
               $this->error "Video source not found.";
 
               return false;
 
               }
 
           if (preg_match("#<title>(.*?)<\\/title>#si"$get$videoTitle))
 
               {
 
               $data["title"] = $videoTitle[1];
 
               }
 
           if (preg_match("#thumbnail_url\"\\:\"(.*?)\"#si"$get$videoThumbnail))
 
               {
 
               $data["thumbnail"] = str_replace("\\/""/"$videoThumbnail[1]);
 
               }
 
           if (preg_match("#duration\":(.*?),#si"$get$videoduration))
 
               {
 
               $data["duration"] = $videoduration[1];
 
               }
 
           return $data;
 
           }
 
       $this->error "Please enter video Url like http://www.dailymotion.com/video/[videoID]_XXX";
 
       return false;
 
       }
 
   public function metacafe($url)
 
       {
 
       $ex explode("/"$url);
 
       if (!is_numeric($ex[4]))
 
           {
 
           $this->error "Please enter video Url like http://www.metacafe.com/watch/[videoID]/XXX";
 
           return false;
 
           }
 
       $this->video_id      $ex[4];
 
       $data["duration"   "";
 
       $data["description"] = $data["duration"];
 
       $data["thumbnail"  $data["description"];
 
       $data["title"      $data["thumbnail"];
 
       $get                 curlGet("http://www.metacafe.com/embed/" $this->video_id "/"true);
 
       if (preg_match("#source src=\"(.*?)\"#si"$get$videoUrl))
 
           {
 
           if (preg_match("#<title>(.*?)<\\/title>#si"$get$videoTitle))
 
               {
 
               $data["title"] = $videoTitle[1];
 
               }
 
           if (preg_match("#property=\"og\\:image\" content=\"(.*?)\"#si"$get$videoThumbnail))
 
               {
 
               $data["thumbnail"] = $videoThumbnail[1];
 
               }
 
           if (preg_match("#name=\"description\" content=\"(.*?)\"#si"$get$videoDescription))
 
               {
 
               $data["description"] = $videoDescription[1];
 
               }
 
           $data["videoUrl"] = urldecode($videoUrl[1]);
 
           return $data;
 
           }
 
       $this->error "Video source not found.";
 
       return false;
 
       }
 
   public function facebook($url)
 
       {
 
       if (preg_match("#v=[0-9]+#si"$url$pattern))
 
           {
 
           $this->video_id end(explode("="$pattern[0]));
 
           $get            curlGet("https://www.facebook.com/video.php?v=" $this->video_id);
 
           $al             facebook_encode_replace($get);
 
           $al             stripslashes($al);
 
           if (preg_match("#\"sd_src\":\"(.*?)\"#si"$al$videoUrl))
 
               {
 
               $data["videoUrl"] = ayir("\"sd_src\":\"""\""$al);
 
               if (($hdvid = @ayir("\"hd_src\":\"""\""$al)) != NULL)
 
                   {
 
                   $data["videoUrl"] = $hdvid;
 
                   }
 
               $data["thumbnail"] = "";
 
               $data["duration" "";
 
               $data["title"    = @ayir("<title id=\"pageTitle\">""</title>"$al);
 
               return $data;
 
               }
 
           $this->error "Video source not found.Make sure the video are trying to retrieve public.";
 
           return false;
 
           }
 
       $this->error "Please enter video Url like https://www.facebook.com/video.php?v=[videoID]";
 
       return false;
 
       }
 
   private function url_check($video_id)
 
       {
 
       if (!empty($video_id))
 
           {
 
           $my_id $video_id;
 
           if (11 strlen($my_id))
 
               {
 
               $url   parse_url($my_id);
 
               $my_id NULL;
 
               if (is_array($url) && count($url) && isset($url["query"]) && !empty($url["query"]))
 
                   {
 
                   $parts explode("&"$url["query"]);
 
                   if (is_array($parts) && count($parts))
 
                       {
 
                       foreach ($parts as $p)
 
                           {
 
                           $pattern "/^v\\=/";
 
                           if (preg_match($pattern$p))
 
                               {
 
                               $my_id preg_replace($pattern""$p);
 
                               break;
 
                               }
 
                           }
 
                       }
 
                   if (!$my_id)
 
                       {
 
                       $this->$error "No video id passed in";
 
                       return false;
 
                       }
 
                   }
 
               else
                    
{
 
                   $this->error "Invalid url";
 
                   return false;
 
                   }
 
               }
 
           $this->video_id $my_id;
 
           return true;
 
           }
 
       $this->error "Please enter video Url like http://www.youtube.com/watch?v=[videoID]";
 
       return false;
 
       }
 
   public function youtube($url)
 
       {
 
       if ($this->config["youtube_video_download"] != 1)
 
           {
 
           $this->error "Video downloads seem to be closed at Youtube Api.";
 
           return false;
 
           }
 
       if ($this->url_check(parse_yturl($url)))
 
           {
 
           if (($ydata YoutubeGen($this->video_id)) == false)
 
               {
 
               $this->error "Error could not be identified given the video content.";
 
               return false;
 
               }
 
           switch ($this->config["youtube_video_quality"])
 
           {
 
               case "high":
 
                   $target_formats = array(
 
                       "137",
 
                       "136",
 
                       "135",
 
                       "134",
 
                       "133",
 
                       "5",
 
                       "160"
 
                   );
 
                   break;
 
               case "medium":
 
                   $target_formats = array(
 
                       "134",
 
                       "135",
 
                       "5",
 
                       "38",
 
                       "133",
 
                       "160",
 
                       "136",
 
                       "137"
 
                   );
 
                   break;
 
               case "low":
 
                   $target_formats = array(
 
                       "133",
 
                       "5",
 
                       "160",
 
                       "136"
 
                   );
 
           }
 
           foreach ($target_formats as $target_format)
 
               {
 
               if (isset($ydata["link"][$target_format]))
 
                   {
 
                   $redirect_url $ydata["link"][$target_format][0];
 
                   }
 
               }
 
           if (isset($redirect_url))
 
               {
 
               $data             $this->get_youtube_description($this->video_id);
 
               $data["videoUrl"] = $redirect_url;
 
               return $data;
 
               }
 
           $this->error "Video download link not found.Entered the youtube Url can be private or not allowed access only through YouTube.";
 
           return false;
 
           }
 
       return false;
 
       }
 
   public function vk($q$page 1)
 
       {
 
       if (empty($q))
 
           {
 
           $this->error "Music name is mandotary to fill.";
 
           return false;
 
           }
 
       $settings $this->CI->setting_model->get_custom_settings(array(
 
           "vk_video_upload",
 
           "vk_client_id",
 
           "vk_secret_key",
 
           "vk_access_token",
 
           "vk_lyrics_support"
 
       ));
 
       if ($settings["vk_video_upload"] == 1)
 
           {
 
           $this->CI->load->library("vk", array(
 
               "client_id" => $settings["vk_client_id"],
 
               "secret_key" => $settings["vk_secret_key"],
 
               "access_token" => $settings["vk_access_token"]
 
           ));
 
           $result $this->CI->vk->api("audio.search", array(
 
               "v" => "2.0",
 
               "q" => $q,
 
               "count" => 20,
 
               "offset" => ($page 0) * 20 20
            
));
 
           if (isset($result["error"]))
 
               {
 
               $this->error $result["error"]["error_msg"];
 
               return false;
 
               }
 
           if (count($result))
 
               {
 
               foreach ($result as $value)
 
                   {
 
                   if (!is_array($value))
 
                       {
 
                       continue;
 
                       }
 
                   $data["embed"][]    "[VK_AUDIO=" $value["owner_id"] . "_" $value["aid"] . "]";
 
                   $data["duration"][] = floor($value["duration"] / 60) . ":" . (($value["duration"] % 60 10 "0" "")) . $value["duration"] % 60;
 
                   $data["name"][]     $value["artist"] . " — " $value["title"];
 
                   if (isset($value["lyrics_id"]) && $settings["vk_lyrics_support"] == 1)
 
                       {
 
                       $data["lyrics_id"][] = $value["lyrics_id"];
 
                       }
 
                   else
                        
{
 
                       $data["lyrics_id"][] = 0;
 
                       }
 
                   }
 
               $data["page"] = $page;
 
               return $data;
 
               }
 
           $this->error "Music not found for your search";
 
           }
 
       else
            
{
 
           $this->error "Vk Api seem to be closed so your operation can not be performed.";
 
           }
 
       return false;
 
       }
 
   public function vk_get_lyrics($lyrics_id)
 
       {
 
       $settings $this->CI->setting_model->get_custom_settings(array(
 
           "vk_client_id",
 
           "vk_secret_key",
 
           "vk_access_token",
 
           "vk_lyrics_support"
 
       ));
 
       $this->CI->load->library("vk", array(
 
           "client_id" => $settings["vk_client_id"],
 
           "secret_key" => $settings["vk_secret_key"],
 
           "access_token" => $settings["vk_access_token"]
 
       ));
 
       if (!empty($lyrics_id) && $settings["vk_lyrics_support"] == 1)
 
           {
 
           $lyric           $this->CI->vk->api("audio.getLyrics", array(
 
               "lyrics_id" => $lyrics_id
            
));
 
           $data["content"] = html_entity_decode(nl2br($lyric["text"]));
 
           }
 
       else
            
{
 
           $data["content"] = "";
 
           }
 
       return $data;
 
       }
 
   public function download_url_video($url)
 
       {
 
       if ($this->get_size($url) <= $this->video_limit_size)
 
           {
 
           $pathinfo pathinfo($url);
 
           if (isset($pathinfo["extension"]))
 
               {
 
               $extension explode("?"$pathinfo["extension"]);
 
               $extension = (stristr($extension[0], "title") ? "mp4" $extension[0]);
 
               if (!in_array($extension$this->vid_ext))
 
                   {
 
                   $extension "mp4";
 
                   }
 
               }
 
           else
                
{
 
               $extension "mp4";
 
               }
 
           mt_srand();
 
           $video_name md5(uniqid(mt_rand())) . "." $extension;
 
           $ch         curl_init();
 
           curl_setopt($chCURLOPT_URL$url);
 
           curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
 
           curl_setopt($chCURLOPT_USERAGENT"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13");
 
           curl_setopt($chCURLOPT_REFERER"http://www.google.com");
 
           curl_setopt($chCURLOPT_BINARYTRANSFER1);
 
           curl_setopt($chCURLOPT_HEADER0);
 
           curl_setopt($chCURLOPT_FOLLOWLOCATION$this->curl_follow_location);
 
           $video    curl_exec($ch);
 
           $httpcode curl_getinfo($chCURLINFO_HTTP_CODE);
 
           curl_close($ch);
 
           if (200 <= $httpcode && $httpcode 300)
 
               {
 
               $file fopen(FCPATH $this->path_video $video_name"w");
 
               fwrite($file$video);
 
               fclose($file);
 
               return $video_name;
 
               }
 
           $this->error "Could not access the source for downloading the video.";
 
           }
 
       else
            
{
 
           $this->error "Size of the video you are trying to download is above limits.You can change limits on /application/config/videnox.php ";
 
           }
 
       return false;
 
       }
 
   public function videoThumbDuration($videoPath$gthumb true$gduration true)
 
       {
 
       $ffmpeg = @trim(@shell_exec("type -P ffmpeg"));
 
       if (!empty($ffmpeg))
 
           {
 
           $data  false;
 
           $video FCPATH $this->path_video $videoPath;
 
           if ($gthumb)
 
               {
 
               $data["thumbnail"] = "";
 
               mt_srand();
 
               $thumb     md5(uniqid(mt_rand())) . ".jpg";
 
               $thumbnail FCPATH "uploads/thumb/" $thumb;
 
               shell_exec("ffmpeg -i " $video " -deinterlace -an -ss 1 -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg " $thumbnail " 2>&1");
 
               if (file_exists($thumbnail))
 
                   {
 
                   $data["thumbnail"] = $thumb;
 
                   }
 
               }
 
           if ($gduration)
 
               {
 
               $data["duration"] = "";
 
               $videoTime        shell_exec("ffmpeg -i \"" $video "\" 2>&1");
 
               if (preg_match("/Duration: (\\d{2}:\\d{2}:\\d{2}\\.\\d{2})/"$videoTime$matches))
 
                   {
 
                   $time explode(":"$matches[1]);
 
                   list($hour$minutes) = $time;
 
                   $seconds          round($time[2]);
 
                   $data["duration"] = $hour ":" $minutes ":" $seconds;
 
                   }
 
               }
 
           return $data;
 
           }
 
       return array(
 
           "duration" => "",
 
           "thumbnail" => ""
 
       );
 
       }
 
   public function upload_video($ffmpeg true)
 
       {
 
       $config["upload_path"  FCPATH $this->path_video;
 
       $config["allowed_types"] = "avi|flv|wmv|mp4";
 
       $config["max_size"     $this->video_limit_size;
 
       $config["encrypt_name" true;
 
       $this->CI->load->library("upload"$config);
 
       if (!$this->CI->upload->do_upload("qqfile"))
 
           {
 
           $data = array(
 
               "success" => false,
 
               "error" => $this->CI->upload->display_errors("""")
 
           );
 
           }
 
       else
            
{
 
           $video    $this->CI->upload->data();
 
           $response = array(
 
               "thumbnail" => "",
 
               "duration" => ""
 
           );
 
           if ($ffmpeg)
 
               {
 
               $response $this->videoThumbDuration($video["file_name"]);
 
               }
 
           $data = array(
 
               "success" => true,
 
               "video_url" => $video["file_name"],
 
               "image_url" => $response["thumbnail"],
 
               "duration" => $response["duration"]
 
           );
 
           }
 
       return $data;
 
       }
 
   private function curlGet($URL)
 
       {
 
       $ch      curl_init();
 
       $timeout 5;
 
       curl_setopt($chCURLOPT_URL$URL);
 
       curl_setopt($chCURLOPT_HEADER0);
 
       curl_setopt($chCURLOPT_RETURNTRANSFER1);
 
       curl_setopt($chCURLOPT_CONNECTTIMEOUT$timeout);
 
       if (curl_exec($ch) === false)
 
           {
 
           $this->error "Curl error: " curl_error($ch);
 
           return false;
 
           }
 
       $tmp curl_exec($ch);
 
       curl_close($ch);
 
       return (empty($tmp) ? false $tmp);
 
       }
 
   private function get_size($url)
 
       {
 
       $ch curl_init($url);
 
       curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
 
       curl_setopt($chCURLOPT_HEADERtrue);
 
       curl_setopt($chCURLOPT_NOBODYtrue);
 
       $data curl_exec($ch);
 
       $size curl_getinfo($chCURLINFO_CONTENT_LENGTH_DOWNLOAD);
 
       curl_close($ch);
 
       return $size;
 
       }
 
   public function get_youtube_description($video_id)
 
       {
 
       $json json_decode($this->curlGet("http://gdata.youtube.com/feeds/api/videos/" $video_id "?v=2&alt=json"), true);
 
       if (isset($json["entry"]))
 
           {
 
           $data["description"] = $json["entry"]["media\$group"]["media\$description"]["\$t"];
 
           $data["title"      $json["entry"]["title"]["\$t"];
 
           $data["duration"   $json["entry"]["media\$group"]["yt\$duration"]["seconds"];
 
           $data["thumbnail"  str_replace("default""hqdefault"$json["entry"]["media\$group"]["media\$thumbnail"][0]["url"]);
 
           return $data;
 
           }
 
       return false;
 
       }
 
   public function get_error()
 
       {
 
       return $this->error;
 
       }
 
   }
?>
Reply
#2

Not someone guide
Reply
#3

Why adding a watermark to the video?
The solution: http://ksloan.net/watermarking-videos-fr...g-filters/

---

The code you write is not good. It has many bad idea.
Reply
#4

Thank you for your answer.
But I would like to add that the above code.
I thank you help me
Reply
#5

iDealshare VideoGo can help to add watermark to AVI, MP4, MOV, WMV, MKV,FLV, VOB, ASF, AVCHD, MTS, MXF, MOD, TOD, 3GP, SWF, MPEG-1, MPEG-2, DV,and etc

Step by step guide at http://www.idealshare.net/video-converte...v-vob.html

It can add text watermark to movies files

It can add image or picture watermark to video like adding JPG, PNG, JPEG, BMP, GIF, TIFF and etc to videos.
Reply
#6

mayrkandy Thank you . your answer.

I need the php code.

is for Windows
Reply
#7

What is the problem? You want watermark the video? You need some tools like ffmpeg.

https://github.com/PHP-FFMpeg/PHP-FFMpeg
Reply
#8

mayrkandy Thank you . your answer.

please help
You can addwatermark image code to me in the above code
Reply




Theme © iAndrew 2016 - Forum software by © MyBB