2013-10-14 4 views
0

Я создал видео с группой изображений и mp3. Но я хочу добавить текст водяного знака к этому видео. Я использую приведенный ниже код, чтобы добавить текст.Добавление водяного знака в видео с помощью ffmpeg в php

exec('/usr/local/bin/ffmpeg -y -i output.mov -acodec libmp3lame -vcodec msmpeg4 \ 
-b:a 192k -b:v 1000k -ar 44100 \ 
-vf "drawtext=text=string1 string2 string3 string4 string5 string6 string7 :expansion=normal:fontfile=/usr/bin/DejaVuSerif-BoldItalic-webfont.ttf: y=0:x=h-(2*lh)-n: fontcolor=white: fontsize=40: box=1: [email protected]" \ 
-an IMG_0696.avi'); 

Проблема в том, что видеофайл создает нулевой размер. Может кто-нибудь мне помочь. Или еще предложите мне другую команду, чтобы добавить текст водяного знака в видео. Спасибо заранее ...

+0

Работает ли эта команда на консоли? – halfer

+0

Я не уверен, но его рабочий тон в php. –

+1

Не уверен, что я с тобой. Если он работает в PHP, в чем вопрос? ':)' – halfer

ответ

2
ffmpeg -i movie.mp4 -i logo.png -filter_complex overlay output.mp4 
+0

как вы можете установить перед водяным знаком изображение путь изображения –

0

Я использую PHP-FFmpeg [Below: Композитор Json]:

{ 
    "require": { 
     "php-ffmpeg/php-ffmpeg": "^0.6.1" 
    } 
} 

и используя этот PHP-FFmpeg библиотеки вы можете добавить водяной знак, используя следующие коды :

<?php 

function processVideo($videoSource,$reqExtension, $watermark = "") 
{ 
    $ffmpeg = FFMpeg\FFMpeg::create(); 

    $video = $ffmpeg->open($videoSource); 

    $format = new FFMpeg\Format\Video\X264('libmp3lame', 'libx264'); 

    if (!empty($watermark)) 
    { 
     $video ->filters() 
       ->watermark($watermark, array(
        'position' => 'relative', 
        'top' => 25, 
        'right' => 50, 
       )); 
    } 

    $format 
    -> setKiloBitrate(1000) 
    -> setAudioChannels(2) 
    -> setAudioKiloBitrate(256); 

    $randomFileName = rand().".$reqExtension"; 
    $saveLocation = getcwd(). '/video/'.$randomFileName; 
    $video->save($format, $saveLocation); 

    if (file_exists($saveLocation)) 
     return "http://localhost/test/video/$randomFileName"; 
    else 
     return "http://localhost/test/thumb/404.png"; 

} 

echo $videoLocation = processVideo("sample.mp4","mp4","favicon.png"); 

?> 

[Пожалуйста, обновите местоположение в соответствии с вашими потребностями.]

-1
$ffmpeg = FFMpeg\FFMpeg::create(); 
$video = $ffmpeg->open('video.mpg'); 
$video 
    ->filters() 
    ->resize(new FFMpeg\Coordinate\Dimension(320, 240)) 
    ->synchronize(); 
$video 
    ->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(10)) 
    ->save('frame.jpg'); 
$video 
    ->save(new FFMpeg\Format\Video\X264(), 'export-x264.mp4') 
    ->save(new FFMpeg\Format\Video\WMV(), 'export-wmv.wmv') 
    ->save(new FFMpeg\Format\Video\WebM(), 'export-webm.webm'); 

Шаги для установки FFmpeg на систему. http://drupalasia.com/article/how-add-watermark-video-using-php-and-ffmpeg

Смежные вопросы