惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
U
Unit 42
The Register - Security
The Register - Security
S
Security Affairs
博客园 - 【当耐特】
Latest news
Latest news
爱范儿
爱范儿
T
The Exploit Database - CXSecurity.com
F
Full Disclosure
C
Cisco Blogs
宝玉的分享
宝玉的分享
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LangChain Blog
P
Privacy & Cybersecurity Law Blog
腾讯CDC
C
CXSECURITY Database RSS Feed - CXSecurity.com
V
Vulnerabilities – Threatpost
Jina AI
Jina AI
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 叶小钗
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园_首页
博客园 - 三生石上(FineUI控件)
D
DataBreaches.Net
WordPress大学
WordPress大学
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Microsoft Security Blog
Microsoft Security Blog
N
News and Events Feed by Topic
Recorded Future
Recorded Future
Scott Helme
Scott Helme
Hacker News: Ask HN
Hacker News: Ask HN
Webroot Blog
Webroot Blog
AWS News Blog
AWS News Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tor Project blog
F
Fortinet All Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
H
Hacker News: Front Page
J
Java Code Geeks
A
About on SuperTechFans
The GitHub Blog
The GitHub Blog
博客园 - 聂微东
Last Week in AI
Last Week in AI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
W
WeLiveSecurity
V2EX - 技术
V2EX - 技术
T
Troy Hunt's Blog
Attack and Defense Labs
Attack and Defense Labs

FFmpeg

[FFmpeg 的实时性太糟糕了] 后续 - V2EX intel qsv ffmpeg 编码问题 - V2EX FFmpeg 的实时性太糟糕了 - V2EX 早就听说过 ffmpeg,但是一直不知道有多牛 - V2EX 使用 FFmpeg 和 GPU 实现最简“图片+无损音频=视频”的方法 - V2EX FFmpegKit has been officially retired. There will be no further ffmpeg-kit releases. - V2EX 有没有精通 ffmpeg 的大佬帮我看下这个视频是怎么制作的 - V2EX 求助大佬们, FFmpeg 指令拉实时流转推的正确姿势到底是什么? - V2EX 在几乎不损失画质的前提下,怎么用 ffmpeg 把 h.264 格式的视频转换成 h.265 格式的? - V2EX 我又来询问 ffmpeg 问题了!这次是硬件加速! - V2EX 大佬们, nodejs 和 Python 做类似 jellyfin 实时转码是不是只能用 ffmpeg 实现了 - V2EX 有大佬开发过 ffmpeg 吗?用 c++调用 ffmpeg API 解码视频流 CPU 占用率高,求解决办法 - V2EX ffmpeg 视频录制切分问题请教 - V2EX 通过 ffmpeg 压缩视频很慢 时间敏感的需求该怎么设置参数呢? - V2EX ffmpeg 处理后视频时长问题 - V2EX 请教一个关于 ffmpeg 的问题 - V2EX 如何下载官方的 ffmpeg 二进制发布 - V2EX 视频模板替换图片,有偿 - V2EX ffmpeg 过滤器 xfade 自定义动画的研究 - V2EX 关于我在 fcp 导入视频时出现的无法解决的问题,请求各位 ffmpeg 大佬的帮忙 - V2EX go + ffmpeg pipe 怎么确定当前转码操作已经结束,可以停了 - V2EX 给人声视频加入背景声音,如何做到自动调整背景的音量 - V2EX 使用 ffmpeg 用 aes 加密 m3u8 文件的疑惑 - V2EX 把歌曲压缩至 7 kbps, FFmpeg 之父发布音频压缩工具 TSAC - V2EX 求助使用 ffmpeg 压缩.mov 视频输出后丢失元数据问题如何解决 - V2EX homebrew 安装的 fmpeg 转码速度比较慢?直接编译可以提高速度吗? - V2EX 使用 nodejs 调用和在 macos 终端里直接调用 ffmpeg 转 m3u8,两者花费时间相差巨大 - V2EX FFmpeg 如何录屏时排除录制指定的某个窗口 - V2EX ffmpeg 最近大版本发布为啥这么快 - V2EX ffmpeg 如何加快解码速度?算力不变的情况下,不在乎解码质量 - V2EX FFmpeg 怎么支持 segment_size 选项? - V2EX 为什么 ffmpeg 的体积会这么大?多复杂的算法编译后也不会有几十 MB 吧? - V2EX FFmpeg 使用 debug_ts 打印全过程的 pts - V2EX ffmpeg 如何更快速的查询视频的"缺帧" - V2EX 如何将 AVS3 8KHDR 视频转码为 HEVC 8KHDR 视频? - V2EX 请教大佬们,在线网站抓到 m3u8 能播放,但是用 ffmpeg 下载的时候 “403 forbidden” 或者 “Output file #0 does not contain any stream” 应该怎么解决 - V2EX FFmpeg 使用 qsv 加速失败 - V2EX 使用 ffmepg 把图片和长音频转换为视频的时候,视频和音频的时间对不上,声音也减少了一半 - V2EX FFmpeg 解码器如何识别码流格式变了? - V2EX ffmpeg 提取音频中有声部分并单独生成文件 - V2EX ffplay 如何并行下载 m3u8 - V2EX 如何用 ffmpeg 找到损坏的视频 50 块钱悬赏答案 - V2EX ffmpeg 如何压缩 h.265 的视频不丢帧? - V2EX 有没有 win 下已编译好的 FLV 标准支持 H265 的 ffmpeg? - V2EX 为什么有些视频体积这么大但是画质这么差? - V2EX lalserver 流媒体(直播音视频网络传输)服务器 v0.30.1 2022.6.15 - V2EX [求助] mp4 录制,怎么才能不缓冲在内存中 - V2EX ffmpeg 怎么处理 h265 切 h264 的直播流? - V2EX 为什么 ffmpeg 加不上 rotate 旋转参数 - V2EX
使用 FFmpeg 试图做个人用的转码点播服务端, 但 mpegts 多个切片间音频偶尔不连续? - V2EX
lslqtz · 2025-01-03 · via FFmpeg

最近试着写了一份简单的个人用途的转码点播服务端, 完成了之前的想法, 它能把当前工作目录下的视频转为 m3u 切片用于点播. 主要是由于部分 BDMV 视频码率过高, 很难远程点播 NAS 上的内容. Jellyfin 等媒体库方案不在考虑范围.

为了实现浏览器 seek 的效果, 选择由服务端通过 PTS 时间点和 timeBase 来根据关键帧提前生成切片范围, 在请求对应切片后实时转码到 mpegts (并通过浏览器预缓冲避免播放卡顿).

但无论如何调节, 似乎偶尔都会出现音频不连续的问题, 转储后发现目标切片似乎时间和请求长度不完全一致, 调节多次参数仍未解决此问题 (为使切片有足够起始长度只测试到 muxdelay 方法可用, -ss/-t 放于输入之后似乎也无果, 包括 -start_at_zero 等的替代也都尝试过, 使用 hls 或 segment 的话较难控制自由点播进度).

由于 nodejs 服务端较难调用 FFmpeg API, 是用的 命令+管道 的方式. 在这种情况下, 有方法可以解决或规避此问题吗?

服务端的完整代码, 其中相关的代码如下:

		let args = [
			'-ss', startTimeStr,
			'-t', durationTimeStr,
			'-accurate_seek',
			'-i', videoPath,
			'-map', '0:v:0',
			'-c:v', encoder,
			'-b:v', String(bitrate),
			'-bsf:v', 'h264_mp4toannexb',
			'-avoid_negative_ts', 'make_zero',
			'-start_at_zero',
			'-muxdelay', delayTimeStr,
			'-muxpreload', delayTimeStr,
			'-f', 'mpegts',
			'pipe:1'
		];

请求方法:
m3u: http://127.0.0.1:8082/video/rttPlaylist?videoPath=1.mkv
segment: http://127.0.0.1:8002/video/rttSegment?videoPath=1.mkv&start=0.0000&duration=4.0000

(BTW: 其实大部分是 Gemini 写的.)