国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP-FFMpeg 視頻水印 Encoding failed | Unknown encoder

Juven / 1190人閱讀

摘要:個(gè)人博客地址使用做視頻水印遇到的,關(guān)于的處理使用做視頻水印如下方法時(shí)候時(shí)候會報(bào)錯(cuò)錯(cuò)誤位置這邊是了,去掉報(bào)錯(cuò)如下。直接使用命令行生成設(shè)置水印位置參考資料

個(gè)人博客地址: http://www.xixinice.com

PHP 使用 PHP-FFMpeg 做視頻水印 遇到的keng,

關(guān)于 "Encoding failed", "Unknown encoder "libfaac"" 的處理

使用 PHP-FFMpeg 做視頻水印
demo 如下:

$ffmpeg = FFMpegFFMpeg::create(array(
    "ffmpeg.binaries"  => "/opt/local/ffmpeg/bin/ffmpeg",
    "ffprobe.binaries" => "/opt/local/ffmpeg/bin/ffprobe",
    "timeout"          => 3600, // The timeout for the underlying process
    "ffmpeg.threads"   => 12,   // The number of threads that FFMpeg should use
));

$video = $ffmpeg->open("video.mpg");

$relative = array(
    "position"=>"relative",
    "bottom"=>50,
    "right"=>50
);

$image = "/xxx/watermarkMark.png";

$video->filters()->watermark($image, $relative);

$video->save(new FFMpegFormatVideoX264(), "export-x264.mp4")

error:
1.save() 方法時(shí)候 時(shí)候會報(bào)錯(cuò):

Encoding failed
錯(cuò)誤位置
FILE: /xxx/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Media/AbstractVideo.php  LINE: 106

2.這邊是catch 了 error,去掉 try catch,報(bào)錯(cuò)如下。

ffmpeg failed to execute command "/usr/local/bin/ffmpeg" "-y" "-i" "/xxx/input.mp4" "-vcodec" "libx264" "-acodec" "libfaac" "-b:v" "1000k" "-refs" "6" "-coder" "1" "-sc_threshold" "40" "-flags" "+loop" "-me_range" "16" "-subq" "7" "-i_qfactor" "0.71" "-qcomp" "0.6" "-qdiff" "4" "-trellis" "1" "-b:a" "128k" "-vf" "movie=/xxx/waterMark.png [watermark];in overlay=50:80 [out]" "-pass" "1" "-passlogfile" "/var/tmp/ffmpeg-passesabcdefg/pass-abcdf" "/xxx/output.mp4"

錯(cuò)誤位置
FILE: /xxx/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessRunner.php  LINE: 100

從 "-acodec" "libfaac",可以看出 這邊encode 使用了 "libfaac"

把它放到命令行去執(zhí)行,會報(bào)錯(cuò):
Unknown encoder "libfaac"

至此,也就找打了關(guān)鍵所在,是少了"libfaac"

但是,去查找這個(gè)配置的時(shí)候,會發(fā)現(xiàn)找不到這個(gè)。
configuration: --prefix=
Options --with
這2個(gè)都沒有。

3.原因是官方已經(jīng)移除了,現(xiàn)在用 "libfdk_aac" 來代替了,但是 github 庫沒有更新

libfaac is a crappy encoder; there are better alternatives.
FFmpeg removed libfaac support.

4.所以代碼這邊需要自己傳參數(shù),不能使用默認(rèn)
同時(shí)安裝的時(shí)候,option 必須帶上參數(shù) --with-fdk-aac

原代碼:

public function __construct($audioCodec = "libfaac", $videoCodec = "libx264")
{
    $this
        ->setAudioCodec($audioCodec)
        ->setVideoCodec($videoCodec);
}

所以new 的時(shí)候需要傳參數(shù):
new FFMpegFormatVideoX264("libfdk_aac")

這樣即可以。

ps:
直接使用ffmpeg 命令行 生成:

ffmpeg -i input.mp4 -i watermark.jpg -filter_complex "overlay" output.mp4

//設(shè)置水印位置
ffmpeg -i input.mp4 -i watermark.jpg -filter_complex "overlay=x=10:y=10" output.mp4

參考資料:

https://stackoverflow.com/que...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/29654.html

相關(guān)文章

  • 也談 “FFMPEG獲取視頻播放時(shí)長”

    摘要:背景因?yàn)楣ぷ髦杏胁糠謨?nèi)容是使用來獲取音視頻信息以及對音視頻文件進(jìn)行處理,遇到了一些問題,所以一路搜過來。因?yàn)橐曨l處理必然離不開,網(wǎng)上抄了一段是領(lǐng)先的多媒體框架。 背景: 因?yàn)楣ぷ髦杏胁糠謨?nèi)容是使用PHP來獲取音/視頻信息以及對音視頻文件進(jìn)行處理,遇到了一些問題,所以一路搜過來。 FFmpeg 因?yàn)橐曨l處理必然離不開FFmpeg,網(wǎng)上抄了一段: FFmpeg是領(lǐng)先的多媒體框架。 在這個(gè)框...

    BingqiChen 評論0 收藏0
  • 一行代碼搞定人臉識別

    摘要:什么,只要一行代碼就能搞定人臉識別當(dāng)然是假的啦。雖然不能一行就搞定,依靠強(qiáng)大的人臉識別包,只要十多行代碼完全可以實(shí)現(xiàn)人臉識別的功能。經(jīng)測試識別正確率高達(dá)。下安裝比較簡單,命令行下幾行代碼就搞定,安裝見這里。 什么,只要一行代碼就能搞定人臉識別?當(dāng)然是假的啦。 雖然不能一行就搞定,依靠python強(qiáng)大的人臉識別包,只要十多行代碼完全可以實(shí)現(xiàn)人臉識別的功能。這就叫站在巨人的肩膀上,看得更高...

    Tony 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<