GNU/Linux >> Belajar Linux >  >> Linux

Tambahkan Teks Overlay ke Video menggunakan PHP-FFMpeg

Baru-baru ini saya mempelajari cara menambahkan trek audio ke video menggunakan PHP-FFMpeg. Sekarang saya ingin menambahkan teks overlay ke video. Alat baris perintah FFmpeg menerima drawtext filter menggunakan libfreetype Perpustakaan. Tangkapannya adalah, semua yang mungkin ada di FFmpeg baris perintah tidak dimungkinkan di PHP-FFMpeg , tapi yang ini pasti mungkin. Mari kita lihat bagaimana melakukannya sekarang.

Sebelum itu, lihatlah gambar di bawah ini.

Catatan

Anda harus menginstal FFMpeg di sistem Anda dan seharusnya sudah dikonfigurasi dengan –enable-libfreetype

.

Langkah 1:Cara memverifikasi FFMpeg yang dikonfigurasi dengan libfreetype library

#ffmpeg  -version | grep libfreetype
configuration: --prefix=/usr --extra-version='0york0~18.04.1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-nonfree --enable-libfdk-aac --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared

Langkah 2:Buat filter khusus di PHP-FFMpeg

Saya tidak dapat menemukan implementasi langsung untuk menambahkan teks overlay ke video di PHP-FFMpeg atau dokumentasi yang relevan. Jadi saya akan membuat filter khusus untuk menggunakan drawtext filter di PHP-FFMpeg seperti yang ditunjukkan di bawah ini:

$command = "text='$text': fontfile=OpenSans-Regular.ttf: fontcolor=red: fontsize=80: box=1: [email protected]: boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2:";
$video->filters()->custom("drawtext=$command");

Langkah 3:Tambahkan teks overlay ke video menggunakan PHP-FFMpeg

Di bawah ini adalah kode lengkap untuk menambahkan teks overlay ke video. Pastikan movie.mp4 dan php-ffmpeg tersedia di jalur tempat file ini berada.

<?php

require_once 'vendor/autoload.php';
$ffmpeg = FFMpeg\FFMpeg::create();
$format = new FFMpeg\Format\Video\X264();
$format->setAudioCodec("aac");
$videoFile='movie.mp4';
$captionStaticFilePath=$_SERVER['DOCUMENT_ROOT'].'/';
$outputFile='movie_output.mp4';
$text="Techglimpse.com";
$command = "text='$text': fontfile=OpenSans-Regular.ttf: fontcolor=red: fontsize=80: box=1: [email protected]: boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2:";

try{
        $video = $ffmpeg->open($captionStaticFilePath.$videoFile);
        $video->filters()->custom("drawtext=$command");
        $video->save($format, $captionStaticFilePath.$outputFile);
        die('done');
}catch(Exception $e){
        echo $e->getMessage();die;
}

?>

Suka? Beri tahu saya komentar Anda.


Linux
  1. Cara Menulis Teks Pada Gambar menggunakan Perintah Linux

  2. PHP-FFMpeg:Izinkan beberapa file input (Tambahkan audio ke video)

  3. Menggunakan Uniq Pada Teks Unicode?

  1. Ubah Surat Masuk Dari Teks/biasa Menjadi Teks/html?

  2. Bagaimana cara menambahkan elemen halaman menggunakan InstantSite

  3. Menggunakan sed untuk menghapus blok teks

  1. Ubah Ke Konsol Teks Menggunakan Ssh?

  2. Bagaimana cara menambahkan Alamat IP di Ubuntu 18.04 menggunakan netplan?

  3. Tidak dapat menambahkan pengguna menggunakan useradd