前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DeepFaceLab坑之ffmpeg

DeepFaceLab坑之ffmpeg

作者头像
用户3578099
发布2019-09-19 15:20:30
1.7K0
发布2019-09-19 15:20:30
举报
文章被收录于专栏:AI科技时讯AI科技时讯

DeepFaceLab是一款支持视频或图片的换脸开源软件,其使用非常简单,有官方的juptyer notebook案例,这里不做过多的教程介绍。

在使用过程中遇到的一点问题,在这里记录一下。DeepFaceLab的详细步骤分为五步:

  • 准备好workspace
    • 原始素材(视频/照片)
    • 目标素材(视频/照片)
  • 安装deepfacelab
    • 从git上下载即可
  • 提取脸部
    • 提取原始素材面部(如果是视频,需要先转换为多张图片)
    • 提取目标素材面部(如果是视频,需要先转换为多张图片)
  • 训练模型
    • 设置训练的一些参数,参数含义需要理解清楚
  • 转换输出
    • 首先进行图片融合
    • 其次将融合后的图片转换为视频

上述过程按照流程走都挺顺利的,到了转换输出这一步骤的第二步出现问题:

代码语言:javascript
复制
Unknown encoder 'libx264'

问题出在ffmpeg包上,没有编码器,查找相关的资料:

https://stackoverflow.com/questions/9764740/unknown-encoder-libx264

按照以下流程走了一遍,还是不通:

最终放弃,从头开始捋一遍。在main.py函数中调用了ffmpeg,是python版本的,之前按照requrest.txt安装了,不能正常使用,原因在于调用的时候出现的配置如下:

--disable-libx264

disable-libx264导致无法找到编码器,卸载后重新安装,使用conda在虚拟环境中安装一遍:

代码语言:javascript
复制
conda install ffmpeg -c conda-forge

重新运行,成功运行将图片转成视频:

代码语言:javascript
复制
-dir ../workspace/yc_dst/Enter FPS ( ?:help skip:fullfps ) : fullfps
0
Output image format? ( jpg png ?:help skip:png ) : jpg
ffmpeg version 4.2 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7.3.0 (crosstool-NG 1.23.0.449-a04d0)
  configuration: --prefix=/home/duanzhicheng/anaconda3/envs/deepface --cc=/home/conda/feedstock_root/build_artifacts/ffmpeg_1566210161358/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc --disable-doc --disable-openssl --enable-avresample --enable-gnutls --enable-gpl --enable-hardcoded-tables --enable-libfreetype --enable-libopenh264 --enable-libx264 --enable-pic --enable-pthreads --enable-shared --enable-static --enable-version3 --enable-zlib --enable-libmp3lame
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/data/duanzhicheng/DeepFaceLab/workspace/39435.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.58.101
  Duration: 00:00:10.03, start: 0.000000, bitrate: 580 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 480x640, 541 kb/s, 24 fps, 24 tbr, 12288 tbn, 96 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 48 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
Press [q] to stop, [?] for help

可以看到配置文件变成

--enable-libx264

整个过程正常运行,踩坑完毕。

参考

  • python 安装 ffmpeg包
  • DeepFaceLab小白入门:脸部替换以及合成视频!
  • How to use libx264 ffmpeg in conda environment?
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技时讯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档