使用ffmpeg播放视频并添加当前时间水印

FFmpeg 是一个可以处理音视频的软件,功能非常强大,主要包括,编解码转换,封装格式转换,滤镜特效。同时也支持 各种网络协议,支持 RTMP ,RTSP,HLS 等高层协议的推拉流,也支持更底层一点的TCP/UDP 协议推拉流。

在多平台系统方面,FFmpeg 的兼容性也优势显著,FFmpeg 可以在 windows,Linux,Mac,ios,android 等等操作系统上运行。

因此,可以说 FFmpeg 是音视频领域的瑞士军刀。在多个公司都有使用,例如 Google 的 chrome 里面就使用了 FFmpeg 的库。还有 Youtube,Facebook,以及国内的各种做音视频产品的公司,只要他做音视频,95% 都会用到 FFmpeg。

ffplay是FFmpeg用于视频播放的一个程序,在播放视频时可以用drawtext滤镜来添加字幕,字幕中可以使用表达式来显示当前时间。时间的格式是用C语言的格式化模板。

示例如下:

ffplay.exe -vf "drawtext='fontfile=simhei.ttf:text=当前时间\\\:%{localtime\:%a %b %d %Y-%m-%d %H\\\:%M\\\:%S}': x=w-tw-10: y=10: fontcolor=white: fontsize=24: shadowcolor=black: shadowx=2: shadowy=2" 你的视频全路径.mp4

其中%{localtime\:%a %b %d %Y-%m-%d %H\\\:%M\\\:%S}部分就是用于显示当前时间字幕的,后面的参数用于设置字幕的位置、字体大小以及阴影等参数。基本能够根据参数名称看明白。

需要说明的是参数中的转义,滤镜描述内的转义需要三个\:

转义规则

  • 三级转义 :
    1. 滤镜选项值:转义:和\'(如text=this is a \'string\'\: ...)。
    2. 滤镜描述:转义\'、[]、,、;(如drawtext=text=this is a \\\'string\\\'\\: ...)。
    3. shell 命令行:根据 shell 规则转义(如 Bash 中\需再转义为\\)。
  • 简化方式 :使用文件传递参数,如drawtext=/text=/tmp/some_text(从文件加载文本)。

更加详细的滤镜使用说明请参阅官方文档:

https://ffmpeg.org/ffmpeg-filters.html

相关推荐
allnlei3 小时前
Opus In-Band FEC 详解:原理、实现与开源方案
ffmpeg·音视频·gstreamer
爱吃提升4 小时前
文生视频模型发展趋势(2026)
人工智能·音视频
可乐鸡翅yeah_5 小时前
新手梳理:M3U8 线上问题,哪些是前端锅,哪些是后端锅
前端·ios·音视频·实时音视频·m3u8·音视频在线播放
apple_692658857 小时前
最新ComfyUI 0.37.1使用教程:画图、3D、音频都有改动 ComfyUI升级到0.37.1啦,新增或改进五大功能
音视频
VidDown12 小时前
从视频画面里提取文字:OCR、文字检测与结构化输出
python·网络协议·ocr·音视频·视频编解码·视频
音视频牛哥13 小时前
一帧视频的底层工程:像素格式、内存带宽、GPU 与 AI
音视频·像素格式·yuv rgb·nv12 nv21·rgb565·rtsp yuv·rtmp rgb
VidDown14 小时前
文件没问题但网页播不了:播放器接入实战与那些“环境问题
python·网络协议·音视频·视频编解码·视频
the3clipse14 小时前
视频编码技术如何赋能游戏性能优化:从硬件隔离到AI驱动的带宽革命
游戏·性能优化·音视频·视频编码·硬件加速·ai编码·自适应编码
I Am a robert girl14 小时前
打破音频生态壁垒:用 WinAirCast 把 Windows 声音塞进 HomePod
windows·音视频·跨平台开发·音频串流·airplay 2·homepod
揽秀亭长14 小时前
视频转脚本有哪些技术路线?三种常见方案对比分析
人工智能·音视频