watermark/копирайт на видео с помощью php... Нужна помощь

847
.
Zheka12345,
$s = array();
     $m = array();

     $d = dir('src');
     while (false !== ($e = $d->read())) {
     if($e != '.' && $e != '..') array_push($s, $e);
     }
     $d->close();
         
     $d = dir('mask');
     while (false !== ($e = $d->read())) {
     if($e != '.' && $e != '..') array_push($m, $e);
     }
     $d->close();

     sort($s);
     sort($m);
     
     $sz = getimagesize('src/'.$s[0]);
     
     if($sz[0] > 0 && $sz[1] > 0)
         //наложение маски
     foreach($m as $mi) {
         system("convert mask/$mi -resize $sz[0]x$sz[1] cmask/$mi");
     };
     
     $i = 0;
     while($i < count($s) && count($s) > 0 && count($m) > 0) {
     for($j = 0; $j < count($m); $j++) {     
             //наложение
         system("composite -compose over cmask/".$m[$j]." src/".$s[$i]." result/".$s[$i]);
         
         $i++;
         if($i >= count($s)) break;
     }
     }
.
Zheka12345,
$s = array();
     $m = array();

     $d = dir('src');
     while (false !== ($e = $d->read())) {
     if($e != '.' && $e != '..') array_push($s, $e);
     }
     $d->close();
         
     $d = dir('mask');
     while (false !== ($e = $d->read())) {
     if($e != '.' && $e != '..') array_push($m, $e);
     }
     $d->close();

     sort($s);
     sort($m);
     
     $sz = getimagesize('src/'.$s[0]);
     
     if($sz[0] > 0 && $sz[1] > 0)
         //подгон маски к размеру ролика
     foreach($m as $mi) {
         system("convert mask/$mi -resize $sz[0]x$sz[1] cmask/$mi");
     };
     
     $i = 0;
     while($i < count($s) && count($s) > 0 && count($m) > 0) {
     for($j = 0; $j < count($m); $j++) {     
             //наложение
         system("composite -compose over cmask/".$m[$j]." src/".$s[$i]." result/".$s[$i]);
         
         $i++;
         if($i >= count($s)) break;
     }
     }
.
$d = dir('src' );
$d = dir('mask' );
тут указывается путь к изображениям (кадрам) и путь к копирайту?
.
И это можно сделать с любым форматом видео?
.
Zheka12345, Любой тип видео, кроме flv-формата.

$d = dir('src' ); 
//папка с кадрами, которые были получены при разрезании видео;


$d = dir('mask' );
//место хранения маски;
.
подскажи на конкретном примере, а то не получается что то...
$file путь к файлу
$image путь к картинке (копирайту)

копирайт нужен только на первых 2 минутах видео и еще бы знать как правильно позиционировать (левый-нижний или правый верхний) угол...
и на выходе и входе нужны форматы 3gp и mp4...
flv не то...
.
и копирайт/картинка если 100x25?
.
Позиционировать не нужно, копирайт должен быть такого же разрешения как и видео. Фон прозрачный, а сам копирайт ставишь в любое место при его создании в фотошопе например
.
wCoder, а не знаешь можно ли копирайт добавить в конец видео, типа видео закончилось и в конце картинка, видео скачано с сайта сайт.ру?
.
hooligan, На выходе только flv, так как видео с png-кадров собирается.

Других способов наложения водяного знала с помощь php незнаю.
Наложение на всю продолжительность.

Кстати, это самый надежный метод (способ), когда на выходе flv. Копирайт никак не снять. Так как это уже в контейнере.

А вот с 3gp и mp4 снимается, как раз плюнуть.

Для желаемых тобой форматов использую софтину Watermark Master.
Всего: 29