Просмотр поста

.
wCoder

Заранее подготовь маску (картинку с копирайтом) для наложения ее на видео.

Потом разрезаешь видео на кадры.
Это делаеться следующей командой:

ffmpeg -i terminator_vp6.flv -f image2 src/i%09d.jpg


После совмещаешь полученную последовательность кадров с маской (картинка с копирайтом).

$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;
     }
     }


И, естественно, собираешь все кадры вместе.

ffmpeg -f image2 -i result/i%09d.jpg -f flv -b 128K -vcodec libx264 result.flv


Получаем видео с водяным знаком.