1. 程式人生 > 實用技巧 >[PHP版]製作視訊字幕 等其他 GIF 轉載

[PHP版]製作視訊字幕 等其他 GIF 轉載

[PHP版]線上製作sorry 為所欲為等其他8種的gif

GitHUb:php-sorry-gif

Demo:gifs.ga

下載:https://github.com/PrintNow/php-sorry-gif/releases

2018-04-05

  1. 新增上傳到搜狗圖片並生成外鏈,如果需要,請修改config.php

2018-04-04

  1. 新增在座的各位都是垃圾模板

2018-04-03

  1. 修復字幕過小問題,我把 Fontsize 改成了 38 ,在我的站點:gifs.ga,這個大小剛剛好,如果發現在你的伺服器中生成的字幕過大,請修改templates/<template_name>/template.ass
    裡的 Fontsize,改成適合自己的大小
  2. 真的修復了 GIF 小圖片 無法生成問題...
新增 GIF 模板非常簡單,只需要將剪輯好的視訊和配置好的字幕檔案(.ass 格式)放到templates/<template_name>/,然後在templates/index.php加個陣列即可(具體請看:新增 GIF 模板)。

說明

思路參考sorry,。
目前已有:

  1. Ruby
  2. Python
  3. Java
  4. Node.JS
  5. PHP 當然也不能少!

GIF 生成核心:ffmpeg

常用特效程式碼

出現在句子中的特效程式碼會對其後的字元產生影響

咕咕{\i1}{\fs40}咕咕咕{\r}咕

\n 折行
\h 空格

{\i1} 斜體
{\i0} 取消斜體

{\b1} 粗體
{\b0} 取消粗體

{\u1} 下劃線
{\u0} 取消下劃線

{\fs60} 調整字號

{\fad(100,200)} 100ms淡入,200ms淡出

{\r} 重置所有特效

目錄結構

├── cache                   # .gif、.ass(圖片生成後自動刪除) 快取路徑
├── templates               # 模板目錄
│    └──<template name>     # 視訊、字幕 模板
│    └──index.php           # 模板索引
├── README.md               # 說明檔案
├── api.php                 # 圖片生成核心、API
└── index.php               # 網站首頁

準備

1. 安裝ffmpeg
依賴命令

我是參照網上的一些教程寫的,寫的可能並不全面,你可以去 Goolge、Baidu。配置時,一定要加上--enable-libass選項

Ubuntu 下安裝ffmpeg

#需要用到x264庫
sudo apt-get install libx264-dev

#安裝依賴庫
sudo apt-get install libfaac-dev
sudo apt-get install libmp3lame-dev
sudo apt-get install libtheora-dev
sudo apt-get install libvorbis-dev
sudo apt-get install libxvidcore-dev
sudo apt-get install libxext-dev
sudo apt-get install libxfixes-dev

#下載原始碼
wget https://ffmpeg.org/releases/ffmpeg-3.4.2.tar.bz2
tar -xf ffmpeg-3.4.2.tar.bz2
cd ffmpeg-3.4.2

#配置 ffmpeg
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc  --enable-pthreads --enable-libfaac  --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libvorbis --enable-libass

#編譯安裝
make && make install

#安裝完成後執行
ffmpeg -version
#看是否安裝成功

#本安裝命令參考:http://www.cnblogs.com/arccosxy/p/3440210.html

Ubuntu安裝中文字型
注意:如果你安裝了可以不用安裝;其他系統安裝中文字型請自行 Google、Baidu

CentOS 7 下安裝ffmpeg

yum -y install bzip2 yasm libass libass-devel
wget https://ffmpeg.org/releases/ffmpeg-3.4.2.tar.bz2
tar -xf ffmpeg-3.4.2.tar.bz2
cd ffmpeg-3.4.2
./configure --enable-libass

make && make install

#安裝完成後執行
ffmpeg -version
#看是否安裝成功

#本安裝命令摘自:https://github.com/q809198545/node-sorry

特別注意:此時生成的gif文字會亂碼,因為 CentOS 7 缺少中文字型安裝字型

使用

因為配置 PHP 環境比較複雜,所以你是初識 PHP 的話,建議使用這個Node.JS版本的,相對來說比較簡單。
  1. 開啟 PHPsystem函式(一般是禁用了的),可以參照這篇文章php開啟exec等函式
  2. 將原始碼上傳到網站根目錄
  3. 敬請享用!
  4. DEMO:點我

新增 GIF 模板

新增模板需要加入以下檔案

templates/<template_name>/template.mp4        # 視訊模板
templates/<template_name>/template-small.mp4  # [相容微信小尺寸]視訊模板
templates/<template_name>/template.ass        # 字幕模板

和修改templates/index.php檔案,有註釋

templates/index.php   # 模板索引

製作字幕模板 template.ass

首先使用aegisub為模板視訊建立字幕,儲存為template.ass(aegisub 教程可以看這個https://tieba.baidu.com/p/1360405931

然後把文字替換成模板字串 <?=[n]=?>

LICENSE

The MIT License (MIT). Please seeLICENSEfor more information.