在上一篇中简单设计了一个视频播放器,但是没有声音,于是本篇的代码就是在上一篇的基础上加上声音。在ffmpeg给的官方例程中,给视频添加声音是有问题的,这一块可以参考下面的这篇博客:其中播放声音比较ffmpeg以前版本增加了重采样的概念,而我添加声音这块代码也是参考这篇博客得来。代码是在上一篇的基础上添加,对于之前的代码几乎没有删改,程序最终运行效果为视频跑的很快,但是声音则正常播放。开发环境:  
在上一篇文章中我们了解了ffmpeg的一些基本功能,在这篇文章中我们一起来分析一个有意思的案例:将一个视频中的文字全部转换出来一、将视频转为图片首先,我们准备一个视频:然后我们先使用一个非常简单的命令将这个视频按1s一张来截图,一共截出57张图:所使用的命令是:./ffmpeg -i source/input.mp4 -r 1 -f image2 img-%3d.jpeg其中:./ffmpeg:在
转载 2023-12-18 14:08:35
212阅读
需求: 1. 纯静态编译ffmpeg ,即ldd ./ffmpeg 的结果是:not a dynamic executable 2. 修改ffmpeg 项目,添加自定义功能库 3. 自定义库由c++实现,要求能被纯c的ffmpeg项目调用 4. 自定义库必须使用g++ 的一些高级特性编译,要求g++支持c++11 5. 自定义库使用了pthread库 和openmp 库 6. 自定义库使用了op
现在对ffmpeg的学习到了往视频指定位置添加对应文字的时候了。 发现添加文字,用的是drawtext滤镜,需要在编译ffmpeg的时候,添加–enable-libfreetype。为此先编译freetype,由于本人ffmpeg使用vs2017编译,并且为了最终的成果物中的文件尽量少,本人编译出的是静态库,此处的是freetype也需要用vs2017进行静态库编译。读者可以按照如下路径,找到fr
使用ffmpeg 命令行给视频添加文字水印,利用drawtext滤镜,如果是代码上api调用,也是一样的用法,创建好滤镜图, 在滤镜图描述字符串中,把这里命令行的参数拷贝过去替换就行,改动非常方便。 给视频添加文字,简单地添加一个helloworld 很方便,在《FFMPEG 从入门到精通》-刘歧 书第6.2章 有讲解,不过讲的非常浅显,不解其中参数的意义,总是期望哪里有一份官方说明使用手册来告诉
# Android ffmpeg 视频添加文字 ## 简介 在移动应用开发中,经常会遇到需要给视频添加文字的需求。而 ffmpeg 是一个强大的开源多媒体框架,它可以对视频进行各种编辑操作。本文将介绍如何在 Android 应用中使用 ffmpeg 来给视频添加文字。 ## 准备工作 在开始之前,需要先确保你的开发环境中已经集成了 ffmpeg。如果还没有集成 ffmpeg,可以参考 ff
原创 2023-12-16 07:05:54
258阅读
在Android开发中,给视频添加文字是一项常见需求,尤其是在需要进行音频字母化、数据标注或视频说明的情况下。本篇博文,将详细记录“Android ffmpeg 给视频添加文字”的过程,包括环境准备、分步指南、配置详解、验证测试、优化技巧和排错指南。 ## 环境准备 为了顺利进行后续操作,我们需要先进行一些环境准备,确保相关的开发工具和库安装到位。 **前置依赖安装:** 在Android
原创 7月前
171阅读
ffmpeg中文水印乱码两种原因1.字符编码格式原因,中文必须是utf8编码格式的(我遇到的问题,在vs2013上写的中文,已做编码格式转码,放到centos7.2上编译运行也会出现中文乱码的问题,在Linux上把中文水印重新输入一遍就OK了)2.字体文件fontfile原因,最好去C:\Windows\Fonts目录下去找,比如说宋体,黑体这些是不会乱码的1.ffmpeg命令添加视频水印 ffm
Mac FFmpeg视频教学教材:https://pan.baidu/s/1Rta82eL0xiE_ciliTiA58g 提取码:g7c4 流程中的关键函数如下所示:avfilter_register_all():注册所有AVFilter。avfilter_graph_alloc():为Fi ...
转载 2021-07-20 15:47:00
1224阅读
3评论
官方文档https://ffmpeg.org/ffmpeg-filters.html#drawtext-1参考strftime() 方法相关参数;https://www.runoob.com/python/att-time-strftime.htmldrawtext过滤器 本质是:使用libfreetype库从视频顶部的指定文件中绘制文本字符串或文本。 使用前提:要启用此过滤器的那么在编译ffmp
在本篇博文中,我们将探讨如何利用 PythonFFmpeg 实现语音转文字的功能。这个过程涉及环境预检、部署架构、安装过程、依赖管理、配置调优及服务验证 six 个方面。通过以下结构,我们将详细记录实现这一过程所需的各个步骤。 ## 环境预检 在使用 PythonFFmpeg 进行语音转文字的工作之前,我们需要对环境进行预检查。以下是兼容性分析及硬件配置。 ## 兼容性分析 |
原创 1月前
326阅读
小白:我录了段视频,里面用的音乐是有版权的,而且快过期了,能把音乐去掉吗?小程拿到视频后,一个快捷键打开命令终端,快速打下一行命令:ffmpeg -i 小白.flv -vcodec copy -an -f mp4 quiet.mp4一个只有视频图像的文件就诞生了。声画分离,这当然只是ffmpeg命令的一个应用场景。那么,FFmpeg是什么呢?来看看百度百科的解释:FFmpeg是一套可以用来记录、转
       失踪人口回归!      最近在研究一个叫做视频关键帧的东西,我现在咸鱼得不行,懒得写那么多东西。      再次强调,这篇博客是写给自己看的,就比较糙了。      简单来说关键帧就是一种很关键的帧,哈哈哈我开玩笑的。严肃一点,目前市
转载 2023-10-21 10:41:35
309阅读
引言现在的短视频非常流行。大多数情况下我们会开着音量或者戴着耳机收看视频。但有些时候不是太方便,如果视频能有一个字幕就好了。 好消息是,字幕制作的软件很专业很好用,而且上手超级简单。坏消息是,如何把字幕合成到视频音频文件内?或者把字幕文件从视频文件提取出来,都需要不少工具!我们今天讲解使用 ffmpeg 解决大家的这个痛点。学习时间1 - 软编码MP4支持流式文本格式的字幕,但是在播放
转载 2023-11-27 19:24:59
228阅读
# 使用FFmpegPython添加SEI(Supplemental Enhancement Information) 在视频处理领域,SEI(Supplemental Enhancement Information)是一种用于扩展视频数据的信息标准。增加SEI信息能提供额外的元数据,例如码率、显示内容等。在本文中,我们将探讨如何在Python中使用FFmpeg添加SEI信息。 ## 流
原创 2024-09-04 06:17:05
448阅读
# 用Python添加文字:初学者指南 在开发的过程中,我们常常需要在文件中添加文字,例如记录日志、处理数据等。对于初学者来说,了解如何在Python中实现这一操作至关重要。以下是这篇文章的详细流程,旨在帮助你顺利完成“添加文字”的任务。 ## 整体流程 | 步骤 | 详细操作 | |--------------|-------
原创 2024-10-08 03:14:35
68阅读
修改ffplay,添加字幕解析功能结合上上周做出来的assrender 这里我用的是vs2015编译的,因为msvc有带辅助编译功能。能够快速c跟c++混编(所谓混编是在双方语法有差异的情况下互相兼容,而不是把c编译成c++).成品已经push到了gitee上。这只是一个简单的demo。没有进行近一步的封装调整,目前我已经把思路运用到项目中,提供一个可以参考的版本。 首先添加了一个类,用于管理as
转载 10月前
61阅读
在当今数字化时代,添加水印以保护视频内容的需求不断增长。Python结合FFmpeg是一种有效的解决方案,能够让我们轻松实现这一目标。本文将详细探讨如何使用“python ffmpeg添加水印”这个方案,同时涵盖备份策略、恢复流程、灾难场景、工具链集成、案例分析和迁移方案,确保我们的解决方案完整且高效。 ## 备份策略 在进行视频处理时,确保原始文件的安全非常重要,因此备份策略是必不可少的。我
打算写这样一篇文章很久了,算是对过往的一种总结,也希望能获得更多的反馈继续迭代。在这个人类的主要信息载体已经变为视频的年代,水印的添加也成为了一个许多人不可或缺的技能,对于技术人来讲,那就更不用提。本文详细的介绍了通过FFmpeg为视频添加各种各样的水印的方法,包括文字,时间,图片,多个图片,透明,动图等,实在有些干燥,实在太有用了,真心希望能帮到大家。如果你也觉得有用,就给个反馈,点赞,再看,收
ffmpeg是编解码的利器,用了很久,以前看过dranger 的教程,非常精彩,受益颇多,是学习ffmpeg api很好的材料。可惜的是其针对的ffmpeg版本已经比较老了,而ffmpeg的更新又很快,有些API已经完全换掉了,导致dranger教程中的 代码已经无法编译,正好最近需要使用ffmpeg,于是就利用dranger的教程和代码,自己边学边记录,于是也就有了这个所谓的 Ne
转载 2月前
346阅读
  • 1
  • 2
  • 3
  • 4
  • 5