前段时间和Fu Ting同学一起为FFmpeg加了object detection和classification的相关功能,暂时告一段落,这里做个总结,记录一下备忘。
首先,最新结构图镇贴。
1. 用Docker演示
用docker的方式,在linux系统(我用的是ubuntu18.04)执行如下命令
$ cd /tmp/
$ git clone https://github.com/guoyejun/ffmpeg_dnn.git/
$ cd ffmpeg_dnn/
$ cd docker/
$ ls
build.sh Dockerfile run.sh
# 下面命令会生成一个image
$ ./build.sh
# 下面命令会进入刚刚生成image的container
$ ./run.sh
进入container后,执行如下命令
# 用OpenVINO后端进行face detection和emtion classifcation,
# 最后的转码结果是 faces.mp4
root@63b38426be65:/workspace# ./detect_face_classify_emotion_with_openvino.sh
# 用TensorFlow后端进行object detection,
# 最后的转码结果是objects.mp4
root@63b38426be65:/workspace# ./detect_objects_with_tensorflow.sh
回到host端,用如下命令可以获取container中的mp4文件,只需将命令行中的{container_id}
换成你的container id即可,可用docker container ls
来查看。