首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
ascii
merge
dagger
timezone
buffer
tree
php5
replace
runtime
controller
input
web
plugins
export
copy
version
case
split
fetch
sum
keyword
cmd
spring
less
config
vbscript
iostream
install
ip
search
dockerfile
python3
timestamp
c语言
flutter
perl
future
bit
cpython
bash
command
hashset
httpclient
solr
format
hashcode
instance
match
email
object
usb
settings
join
filter
bytecode
php
process
post
include
jar
java
audio
byte
loops
actionscrip
uri
javascript
random
erlang
default
subset
datetime
schema
typescript
heap
list
text
heatmap
triggers
当前位置:
开发笔记
>
编程语言
> 正文
FFPlay字幕与LRC歌词播放指南
作者:流行时尚吾诺饰品手_317 | 来源:互联网 | 2024-12-13 13:13
本文详细介绍了不同媒体容器支持的字幕格式,以及如何使用FFPlay和FFMPEG进行字幕和LRC歌词的播放与转换。涵盖的内容包括字幕显示方法、字体配置、字幕流选择等。
各种媒体容器支持的字幕格式:
- 文本字幕:
- MKV: 支持复制、SRT、SSA、ASS
- MP4/MOV: 支持复制、MOV_TEXT
- 位图字幕:
- TS: DVB_SUBTITLE
- VOB: DVD_SUBTITLE(闭路字幕)
FFPlay 字幕显示技巧:
- 位图字幕仅通过-sst参数显示;
- 文本字幕需使用滤镜功能显示。确保编译时已启用--enable-libass和--enable-libfreetype选项,非UTF-8编码还需添加--enable-iconv。
- 使用外部字幕文件示例:
- 设置字体配置文件:export FONTCONFIG_FILE=/usr/local/etc/fonts/fonts.conf
- 命令行:ffplay -vf subtitles=sub.srt:1x1 infile
- 使用文件内嵌的第一个字幕流:
- 检查字幕流信息:ffprobe infile -print_format ini -show_streams 2>/dev/null | grep "streams.stream\|codec_type\|codec_name"
- 播放命令:ffplay -vf subtitles=infile:si=0 infile
- FFMPEG转换说明:
- FFMPEG仅支持同类字幕格式间的转换。
- 位图到文本转换需要ccextractor工具,该工具依赖于tesseract-ocr和leptonica。
测试文件来源:
- BBC新闻:DVB标准
- Starship:DVD标准
- Thief:SRT格式
- 示例图片:
- 
杂项信息:
- 从码流中提取字幕并转换为SRT格式:
- 命令示例:ffmpeg -f lavfi -i "movie=input.ts[out0+subcc]" -map s output.srt
- 注意:此操作有效是因为码流中包含文本数据。
- 复杂字幕处理示例:
- 命令示例:ffmpeg -i input.mkv -sub_charenc CP1252 -i subtitle.srt -map 0:v -map 0:a -c copy -map 1 -c:s:0 srt -metadata:s:s:0 language=fre output.mkv
MP3 LRC歌词播放:
- FFMPEG通过lrcdec.c将LRC歌词转换成通用的ASS格式,并利用libass库进行渲染。
- 播放命令示例:
- ./ffplay -f lavfi "color,subtitles=audio.lrc:force_[out0];amovie=audio.mp3[out1]"
- 示例图片:
- 
待办事项:
- 目前使用lavfi播放MP3时无法实现快进或快退。
参考资料:
- [样例文件] http://samples.ffmpeg.org/sub/
- [GCW论坛] http://boards.dingoonity.org/gcw-releases/ffplay-media-player/
- [CCExtractor项目] http://ncu.dl.sourceforge.net/project/ccextractor/ccextractor/0.76/ccextractor.src.0.76.zip
- [Skia博客] http://blog.csdn.net/kangear/article/details/38779867
- [更多资源] https://dev.haiku-os.org/ticket/6826
ffmpeg
filter
容器
text
copy
bit
vb
io
utf-8
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
search
编写有趣的VBScript恶作剧脚本
本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ...
[详细]
蜡笔小新 2024-12-28 09:46:23
copy
Python自动化处理:从Word文档提取内容并生成带水印的PDF
本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ...
[详细]
蜡笔小新 2024-12-27 13:10:20
ip
实用正则表达式有哪些
小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ...
[详细]
蜡笔小新 2024-12-22 13:59:04
input
Qt中QFileSystemModel与QDirModel的使用实例
本文介绍如何利用QFileSystemModel进行目录的浏览、创建及删除操作,并提供了一个简单的对话框界面实现。 ...
[详细]
蜡笔小新 2024-12-11 17:31:43
search
如何使用JavaScript或jQuery检测文本框焦点状态和鼠标悬停事件
本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ...
[详细]
蜡笔小新 2024-12-27 21:33:33
input
HDFS与Hive中的数据存储和管理机制
本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ...
[详细]
蜡笔小新 2024-12-27 20:21:48
less
深入理解Tornado模板系统
本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ...
[详细]
蜡笔小新 2024-12-27 19:22:16
runtime
Python 的 10 个开发技巧!太实用了
1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ...
[详细]
蜡笔小新 2024-12-27 18:36:54
ip
JQuery基础:省市联动与表单验证
本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ...
[详细]
蜡笔小新 2024-12-27 17:10:48
search
Yii2 GridView 实现列表页数据直接编辑的完整指南
本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ...
[详细]
蜡笔小新 2024-12-27 16:27:52
ip
扫描线三巨头 hdu1928hdu 1255 hdu 1542 [POJ 1151]
学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ...
[详细]
蜡笔小新 2024-12-26 20:04:36
ip
VC++如何监控cpu fan 转速?
主板IO用W83627THG,用VC如何取得CPU温度,系统温度,CPU风扇转速,VBat的电压. ...
[详细]
蜡笔小新 2024-12-22 13:48:42
ip
深入解析:Android 视频处理开源框架
本文将详细介绍多个流行的 Android 视频处理开源框架,包括 ijkplayer、FFmpeg、Vitamio、ExoPlayer 等。每个框架都有其独特的优势和应用场景,帮助开发者更高效地进行视频处理和播放。 ...
[详细]
蜡笔小新 2024-12-21 19:49:35
tree
LCUI 2.1.0 发布,确认 Android 支持计划
LCUI 2.1.0 版本现已推出,这是一个用 C 语言编写的图形用户界面开发库,适合创建轻量级的桌面应用程序。此次更新包括多项修复和功能增强,并正式宣布将启动 Android 支持的开发计划。 ...
[详细]
蜡笔小新 2024-12-18 00:58:16
ip
开发笔记:小程序分类页实现三级分类,顶部导航栏,左侧分类栏,右侧数据列表
开发笔记:小程序分类页实现三级分类,顶部导航栏,左侧分类栏,右侧数据列表 ...
[详细]
蜡笔小新 2024-12-14 16:04:11
流行时尚吾诺饰品手_317
这个家伙很懒,什么也没留下!
Tags | 热门标签
ascii
merge
dagger
timezone
buffer
tree
php5
replace
runtime
controller
input
web
plugins
export
copy
version
case
split
fetch
sum
keyword
cmd
spring
less
config
vbscript
iostream
install
ip
search
RankList | 热门文章
1
html5横竖条纹背景,25 条纹背景(lineargradient)
2
关于QuartusII对ram块的综合
3
MicrosoftEdge浏览器91.0.864.41 “禁用开发人员扩展模式“去除
4
【17贪心算法】 剪绳子
5
vue页面添加回到顶部的功能
6
Vue cli3 项目结构和具体作用
7
css中url是什么意思?
8
针对企业级别渗透测试流程
9
程序员不要挑肥拣瘦
10
Klevgrand DAW LP for Mac(乙烯基唱片播放器模拟插件)
11
HTML如何摆脱父元素的规则
12
iview table 滚动条样式可以更改吗
13
哪有winxp多国语言包下载
14
bootstrap的下拉菜单如何只在点击主级别时切换?
15
Android Canvas 如何在已有的图形下面进行绘制?
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有