影音处理 ffmpeg

  • FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。
  • FFmpeg项目最早由Fabrice Bellard发起,现在由Michael Niedermayer维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的”FF”代表”Fast Forward”。
  • FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/ 视频编码库libavcodec。
  • ffmpeg应用广泛:
    • 使用FFMPEG作为内核视频播放器:Mplayer,ffplay,射手播放器,暴风影音,KMPlayer,QQ影音…
    • 使用FFMPEG作为内核的Directshow Filter:ffdshow,lav filters…
    • 使用FFMPEG作为内核的转码工具:ffmpeg,格式工厂…

windows下载和安装

ffmpeg的官网地址是:https://www.ffmpeg.org/ ffmpeg的Github项目地址是:https://github.com/FFmpeg/FFmpeg

  1. 下载FFMpeg—-https://ffmpeg.zeranoe.com/builds/,自行选择自己需要的多少位的静态程序
  2. 解压到指定文件夹下—d:/ffmpeg
  3. 添加到环境变量:d:/ffmpeg/bin
  4. 查看FFmpeg版本信息—ffmpeg -version

主要功能一-转换格式

下面的命令编码格式自动选择为:视频mpeg4,音频mp3,其他参数都是默认的。

  1. 视频转换格式—-将test.avi格式的视频转换为test.mp4 ffmpeg -i test.avi test.mp4
  2. 视频转mp3 ffmpeg -i 0.blv -f mp3 1.mp3

一般上述命令就够用了。

  1. 合并mp4类型视频

将需要合并的文件保存至当前目录,并制作input.txt文件,执行命令开始合并。

input.txt

file ‘input1.mp4’ file ‘input2.mp4’ file ‘input3.mp4’ ffmpeg -f concat -i input.txt -codec copy output.mp4

  1. wmv转mp4

` ffmpeg -i .\2020-03-15_贝叶斯因子分析.wmv -c:v libx264 -crf 23 -q:a 100 test.mp4`

  1. -c:v 设定编码格式,常用编码格式libx264(H.264)
  2. -s 压缩,-s 720x480

主要功能二-图片转换为视频

http://blog.sina.com.cn/s/blog_40d73279010113c2.html

剪切视频

  • ffmpeg.exe -ss 00:09:30.0 -t 00:44:00.0 -i ‘.\example.mp4’ -codec copy cut.mp4
  • 从-ss开始剪切持续时间(例如九分半)为-t(44分钟)的一段视频,并将其另外保存。

为视频添加图片封面

  1. 图片到视频1 ffmpeg -loop 1 -framerate 25 -i .\OpenTalks_7_cover.png -c:v libx264 -t 30 -pix_fmt yuv420p image.mp4

  2. 截取音频1

ffmpeg -i music.mp3 -ss 00:00:00 -t 00:00:30 -acodec copy output_30.mp3

  1. 合并音频1到视频1(注意,如果把不带音频的视频合并到视频2,合并后的视频会没有声音。因为ffmpeg默认把第一个视频视为合并模板。)

ffmpeg -i .\image.mp4 -i .\output_30.mp3 -c:v copy -c:a aac -strict experimental output.mp4

如果视频中已经包含了音频,这个时候还可以替换视频中的音频,使用下面命令行。 ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 output.mp4

  1. 合并视频1和2

ffmpeg -f concat -i input.txt -codec copy output.mp4

图像处理 ImageMagick

ImageMagick介绍

ImageMagick是一个开源的图像处理软件,支持超级多的格式,主要使用命令行进行操作,适合对图片进行大量的批处理操作。其特点有: * ImageMagick(简称 IM)是一个支持 GPL 协议的开源免费软件包。 * 由一组命令行工具组成,no GUI。 * 可以对超过 100 种的图像格式(包括 DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, 和 TIFF等等),进行读、写、编辑和转换的操作。 * 支持多数主流操作系统,其中包括 UNIX、Mac OS X 和 Windows。

下载安装和运行

  • IM 的主页是 http://www.imagemagick.org/ 。你可以在那里下载它的源代码或安装包。
  • 安装:下载好后双击打开exe并一路“下一步/Next”即可。
  • 运行。Windows系统下,首先打开终端,在当前目录下,按下shift + 鼠标右键,会出现“在此处打开命令窗口”(Open windows shell here)的字样,然后点击即可。此时便可以在终端中输入所需IM命令。

常用命令

IM 由一组命令行工具组成,具体来说也就是 convert、mogrify、composite、montage、identify、compare、display、animate、stream、import 和 conjure,这 11 个命令。其中最常用的,是 convert 和 mogrify。

  1. 单个文件转换:convert命令。convert顾名思义就是对图像进行转化,它主要用来对图像进行格式的转化,同时还可以做缩放、剪切、模糊、反转等操作。
    1. 转换格式: convert a.gif a.png
    2. 转换大小: convert a.png -resize 640x480 a.png注意这里的乘号是xyz的小写x。
  2. 批量文件转换:mogrify命令。
    • 和convert的功能差不多,但是convert是建立一个新的图像文件,mogrify默认会覆盖原文件。
    • mogrify 支持基本的通配符,例如你可以用 a*.png 指代所有以 a 打头的 png 文件,诸如此类,而convert 常用于单个文件的转换。
    • 例如, mogrify -path newdir -format png *.gif 这个命令的作用,是将当前目录下的所有 gif 文件,转换为 png 格式,并将其存放在 newdir 目录下。这里的 -path 和 -format 是两个可选择的参数。-format 指定输出的文件格式,而 -path 则指定输出的文件目录。需要注意的是,如果不加 -path 参数的话,mogrify 有可能会覆盖你的源文件,因此强烈推荐在每个 mogrify 命令里都加上 -path 参数,并在执行之前,先检查整个命令正确性。
  3. montage, 合并命令。把多个不同的图像合并为一个图像。

  4. 用 identify 命令来显示图像的尺寸以及其它一些信息: identify a.png

图像转文字

环境配置

  1. Windows环境安装tesseract-ocr 4.00并配置环境变量 注意,Tesseract-ocr安装目录下的tessdata文件夹的内容,需要copy到Tesseract-ocr目录下,与TESSDATA_PREFIX环境变量保持一致。这样做的目的是保证Tesseract-ocr在训练时,训练数据集和程序在一个目录下。

  2. python库的安装 pip install PIL pip install pytesseract 参考教程

    代码

import pytesseract from PIL import Image import os os.chdir('E:\Python\Sentence') img = Image.open('S1.png') text = pytesseract.image_to_string(img, lang='chi_sim') print (text)

参考教程

  • http://blog.sina.com.cn/s/blog_ba532aea0101bty5.html
  • https://www.jianshu.com/p/7ed3be01228b