美文网首页
FFMPEG-实现PDF和视频互转

FFMPEG-实现PDF和视频互转

作者: 来自知乎的一只小胖子 | 来源:发表于2021-12-17 13:49 被阅读0次

FFMPEG-实现PDF和视频互转

一只小胖子

[互联网运营 | 直播电商 | 广告行业] 从业者

2 人赞同了该文章

一.基础使用说明:

ffmpeg 来实现: 视频与图片间的相互转换,以及对视频文件的裁剪合并等.

1.视频转图片

ffmpeg -i out.flv -r 1 -f image2 image-%3d.jpeg  

## -r 1 转换图片的帧率(1s一张)## -f image2 多媒体文件格式ffmpeg -i 1.mp4 -r 1 -f image2 image-%3d.jpeg## -r 1 :帧率,每秒钟转出一张图片## -f : 将输入文件 转成 image2

2.图片转视频

ffmpeg -i image-%3d.jpeg -r 10 out.mp4## 提取9张图片ffmpeg -i 2.ts -r 1 -ss 00:00:00 -t 9 %3d.jpeg
ffmpeg -i 1.ts -r 1 -f image2 image-%3d.jpeg   ## -r 10 1张图片10帧## 指定转换参数ffmpeg -f image2 -i image-%3d.jpeg -vcodec libx264 image.mp4

ffmpeg -r 1/5 -i image%1d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4

3.裁剪及合并

## 裁剪
ffmpeg -i 1.mp4 -ss 00:00:02 -t 3 out.ts

## ss : 视频的其实时间
## -t : 时长

## 合并
ffmpeg -f concat -i input.txt put.mp4

## -f concat : 告诉 ffmpeg 将后面的文件合并到一起

## input.txt : 要合并的列表
file '1.ts'
file '2.ts'

二.pdf生成mp4示例:

1.网页生成PDF

可以使用Python脚本生成多网页对应的多PDF文件,具体的使用可参考如下链接:

Python爬虫新手入门教学(八):爬取论坛文章保存成PDFwww.jianshu.com/p/cf13b704a44f

2.PDF生成图片

方案1:

这里使用mutool生成图片,你也可选用PDF阅读器来生成多个图片(具体看你PDF阅读器的支持)

## 如下命令指定了PDF文件输出格式,输出为带页码的图片,要进行PDF转换页码为1,3,4,5-12页

## 示例一:
mutool convert -F png -o myfile-%d.png ./轻松Scrum之旅.pdf(全文路径) 1,3,4,5-12

## 示例二:
mutool draw -F png -o myfile-%d.png ./轻松Scrum之旅.pdf(全文路径) 1,3,4,5-12

Mutool工具的相关配置及使用,请参考如下:

一只小胖子:实践-SuperMemo-PDF文档图片增量(一)4 赞同 · 3 评论文章

方案2:

使用 imagemagick 包中的convert命令,在如下命令行中我们指定了dpi参数,其它参数和具体的下载/使用请参考:

https://imagemagick.org/imagemagick.org/

PDF to PNG’s

convert -density 400 input.pdf pic.png

This will create one picture for every PDF page with the following naming convention pic-<NUM>.


3.图片生成视频

(1).PNG’s to MP4

ffmpeg -r 1/5 -i pic-%02d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4

(2).Scale the Movie

As the final movie was >4k, my TV wasn’t able to play it, so I in the last step I had to scale it down to an appropriate resolution of 720p:

ffmpeg -i out.mp4 -vf scale=-1:720  out_720p.mp4

Voila, the final movie plays every page for 5 seconds with a frame rate of 30 frames per second and a horizontal resolution of 720 pixels. 相关参考如链接如下:

https://www.everythingcli.org/convert-pdf-to-mp4/www.everythingcli.org/convert-pdf-to-mp4/

三.mp4生成pdf示例:

使用moviepy插件读取视频,并按固定帧数提取图片,对图片直接使用pdf的处理包进行合并即可.

moviepy-cn 文档doc.moviepy.com.cn/

1.取视频至图片
from moviepy.editor import VideoFileClip# 读取视频文件clip = VideoFileClip("demo.mp4")# 以每秒20帧的方式获取图片帧for i, img in enumerate(clip.iter_frames(fps=20)):
  # todo 对图片进行识别
2.合图片至PDF

你可以直接使用支持该操作的PDF阅读器,或使用python下的pdf 处理库mupdf, 使用 mupdf 来读取所有图片至流并写入pdf文件即可,具体可参考mupdf的文档,这里不再详细说明. 参考链接:

MuPDF Documentationwww.mupdf.com/docs/index.html

使用在线服务

提示: 下面这里放置一个可用的工具(直接可以实现视频至PDF的转换,不用写代码!)

https://nsspot.herokuapp.com/videotopdf/nsspot.herokuapp.com/videotopdf/

四.其它学习参考: 利用Python做一个漂亮小姐姐词云跳舞视频

https://blog.csdn.net/fyfugoyfa/article/details/112209719blog.csdn.net/fyfugoyfa/article/details/112209719


我是一只热爱学习的小胖子,如果你也热爱学习,并且对SuperMemo感兴趣,欢迎转发和评论!

相关文章

  • FFMPEG-实现PDF和视频互转

    FFMPEG-实现PDF和视频互转 一只小胖子 [互联网运营 | 直播电商 | 广告行业] 从业者 2 人赞同了该...

  • 第4讲-FFmepg-视频解码

    内容一:FFmpeg-命令行补充? 内容二:FFmpeg-视频解码? 第一点:确定音视频编解码流程学习? 第二点:...

  • ffmpeg-实现视频 metadata(moov) 前置

    章节 问题 分析 解决方案 结果 1、问题 1.1 问题描述 基于原生 ffmpeg api 封装而成的 libv...

  • 简单的pdf转换工具smallpdf转换器

    很多朋友在使用pdf转换工具的时候总是被工具中的广告进行打扰着,影响体验感。其实现在人们在处理pdf文件的转换互转...

  • ffmpeg

    查询 使用库文件 pkg-config参考 音频互转 图像互转 视频互转 视频与图像

  • 人脸表情识别的前期处理

    一 、理解CSV和图片的互转过程二 、Python实现CSV和图片的互转 一、CSV文件转化为图片 功能:实现CS...

  • 图片和视频互转

    -r 指定图片转换帧率 -f 我要将输入文件转成什么格式 image2 就是图片 image开头-%3d 就是动态...

  • 如何实现将PDF和html相互转换

    PDF是一种比较稳定的电子文档格式,而HTML则是一种通用的网页格式,如何才能实现这两种格式之间的互转呢? 首先将...

  • ipv4转整数

    IP与整数互转,C语言实现 IP 与整数互转,JAVA语言实现

  • 福昕PDF转换器重磅更新,你不可不知的特性

    福昕PDF转换器,是一款PDF转换工具,不仅提供PDF与Word、Excel、PPT格式的相互转换,还支持PDF合...

网友评论

      本文标题:FFMPEG-实现PDF和视频互转

      本文链接:https://www.haomeiwen.com/subject/ochptrtx.html