ffprobe

为什么 ffprobe 和 mediainfo.DLL 之间存在差异?
ffprobe

为什么 ffprobe 和 mediainfo.DLL 之间存在差异?

我写了一些逻辑来比较 ffprobe 与 MediaInfo.DLL 的信息。观察和问题: A) 大多数差异都是各种数值(比特率、持续时间、每秒帧数)较小有效数字的细微变化,但我无法确定哪一个实际上更准确。您对 ffprobe 的输出和 MediaInfo.DLL 的输出之间的细微差异是否重要有任何看法,或者如何评估哪一个更准确? B) 对于一个 WMV 文件,MediaInfo.DLL 报告的每样本位数为 16。我的理解是 BPS 和位深度只是同一事物的两个不同名称,但 ffProbe 无法确定位深度。我认为...

Admin

FFmpeg 创建的输出文件比其最长的流短
ffprobe

FFmpeg 创建的输出文件比其最长的流短

假设pipe:0是一个 3 秒的 wav 文件 假设input2.mp4是一个 1 秒的 mp4 文件 使用此命令: ffmpeg -f f32le -ar 44100 -channels 2 -i pipe:0 -t 5 -itsoffset 4 -i input2.mp4 -y -f mp4 -c:v copy -map 0:a -map 1:v output.mp4 我预计它的output.mp4持续时间为 5 秒,因为最长的流(视频流)持续那么长时间。 但是,输出文件仅持续 3 秒,即音频流的持续时间。如果我output.mp4在 Quic...

Admin

如何将 heic 格式转换为 jpeg 格式
ffprobe

如何将 heic 格式转换为 jpeg 格式

ffmpeg master 分支已经支持 heic 格式了,如何通过 ffmpeg 命令传递参数将 heic 图片转换为其他分辨率的 jpeg 图片? ffmpeg -i test.heic output.jpg,该命令只对heic图片的部分内容进行转码; ffmpeg -i test.heic -map 0 %d.jpeg,该命令将生成49张jpeg图片。 但是不知道怎么一次性合成一张完整的jpeg图片,而且有黑边(8的倍数,例如第8张图分辨率不对) ...

Admin

如何使用 ffprobe 提取字幕时间戳(未按预期工作)?
ffprobe

如何使用 ffprobe 提取字幕时间戳(未按预期工作)?

我正在尝试使用 从 M2TS 文件中提取字幕时间戳ffprobe。这没有按预期工作。已知 M2TS 文件在第 4 轨中包含 1001 个字幕,但我得到的时间戳约为 4000 个。此外,这些时间戳以奇怪的方式关联并且未排序。 我正在使用的命令行: ffprobe -show_entries packet=stream_index,pts,duration -of compact=p=0:nk=1 input.m2ts > ts.txt ts.txt然后包含如下块(为了便于阅读,我插入了空行): 4|57795041|N/A| 4|57795000|N/...

Admin

找出具有 LTC 的音频频道
ffprobe

找出具有 LTC 的音频频道

我需要能够检查视频文件中是否有任何具有 LTC(线性时间码)的音频通道。我尝试使用 ffmpeg 和 ffprobe,但我只获得有关音频流的一般信息(例如通道数) 是否有命令可以返回有关每个音频通道的具体信息?如果有,我应该查看哪个字段来确定该特定音频通道是否为 LTC? Tentacle Sync Studio 应用程序似乎知道哪个频道是 LTC 并自动将其静音。 ...

Admin

使用 ffprobe 确定未压缩的 ZIP 文件的格式
ffprobe

使用 ffprobe 确定未压缩的 ZIP 文件的格式

我正在做一个项目,需要处理包含媒体文件的 ZIP 存档。具体来说,我有两个文件,视频1.hevc和视频2.mp4为了测试目的,我使用不同的压缩级别从这些文件创建了两个 ZIP 存档: 使用以下命令压缩的 ZIP 存档:zip -1 compressed.zip video1.hevc video2.mp4 使用以下命令解压缩的 ZIP 存档:zip -0 uncompressed.zip video1.hevc video2.mp4 当我使用 ffprobe 通过命令分析压缩的 ZIP 文件时ffprobe compressed.zip,我收到了预期的错误消...

Admin

使用 ffprobe 获取 mp4 文件中音频流的数量
ffprobe

使用 ffprobe 获取 mp4 文件中音频流的数量

我正在寻找一种方法来计算 mp4 文件中音频流的数量。在一些关于使用 ffprobe 进行此操作的长线程(大部分是 2019 年之前的)中,我发现了以下命令: ffprobe -i your_video.mp4 -show_entries stream=channels -select_streams a -of compact=p=0:nk=1 -v 0 并且在其他不同的地方重复了这一点,作为一个可接受的答案。然而,对我来说,该命令总是返回全部的流数,而不仅仅是我想要的音频流数。 我正在使用 Windows 版本的 ffprobe 和 ffmpeg(我也尝...

Admin

FFmpeg升级至6.0版本,格式时长大增
ffprobe

FFmpeg升级至6.0版本,格式时长大增

我正在使用此命令从视频中提取元数据: ffprobe -v error -print_format json -show_format -show_streams too-many-packets.mp4 使用 ffmpeg v5.1.4 我得到正常格式持续时间:6.452311 但是当使用 v6.1.1 时格式持续时间为:35393.442471(两个版本的音频流和视频流持续时间都是正常的)。 持续时间从 6.45 秒大幅增加到 35393 秒,有什么原因吗? 视频和两个输出的链接: https://drive.google.com/drive/fold...

Admin

修剪视频的开头会产生一些负面的演示时间戳
ffprobe

修剪视频的开头会产生一些负面的演示时间戳

这是我修剪视频开头的命令: ffmpeg -y -ss 00:00:02 -i inputFile.mp4 -movflags use_metadata_tags -map_metadata 0 -c copy outputFile.mp4 我发现,对于某些视频,一些帧呈现时间戳变为负数,尽管原始视频没有。我使用这个 ffprobe 命令检查了 pts_time 值: ffprobe outputFile.mp4 -v quiet -select_streams v:0 -show_entries packet=pts_time -of json 我该如何改...

Admin

如何从特定帧中提取时间戳(PTS)?
ffprobe

如何从特定帧中提取时间戳(PTS)?

我的输入是一个 ts 文件。我正在尝试使用 FFmpeg 从特定帧索引中提取时间戳 (PTS)。我尝试了以下命令(我将 [FRAME_INDEX] 替换为 5),但什么也没发生: ffmpeg -i 0.ts -vf "select=gte(n\, [FRAME_INDEX])" -show_entries frame=pkt_pts_time -v quiet -of csv="p=0" -stats -y output.txt 我希望看到类似的简单输出: pts:15000 或者15000 有人知道如何发出正确的命令吗?谢谢! ...

Admin

ffprobe 输出的持续时间和读取帧数不匹配
ffprobe

ffprobe 输出的持续时间和读取帧数不匹配

我目前正在尝试学习一些有关多媒体容器的知识,尤其是 M2TS。为了以人类可读的格式获取此类文件中所含曲目的大量信息,我发现以下命令非常方便: "c:\program files\ffmpeg\bin\ffprobe.exe" -print_format json -loglevel fatal -show_entries format:packet:stream -show_streams -count_frames -i input.m2ts > output.json 在生成的 JSON 文件中,有每条音轨的时长以及音频帧数(等等)的条目。但是,...

Admin

使用 FFmpeg 修剪 H265 视频并出现此错误:“无法找到适合‘output.h265’的输出格式 output.h265:参数无效”
ffprobe

使用 FFmpeg 修剪 H265 视频并出现此错误:“无法找到适合‘output.h265’的输出格式 output.h265:参数无效”

我正在使用以下 FFmpeg 命令按特定时间间隔剪切/修剪 H265 视频。但我收到此错误: “无法找到适合‘output.h265’的输出格式 output.h265:参数无效” ffmpeg -i input.h265 -ss 00:00:20 -t 00:01:00 -c:v copy -c:a copy output.h265 我如何找到此问题的解决方案?我正在使用 FFmpeg 版本 4.3.2。 我也尝试使用 FFmpeg 6.1.1,但收到警告消息: “输出文件为空,未编码任何内容”。 我正在使用以下构建选项。 配置:--dis...

Admin

ffmpeg 流媒体 UDP 端口已关闭
ffprobe

ffmpeg 流媒体 UDP 端口已关闭

我正在尝试使用 ffmpeg 将 RTSP 流从 CCTV 转码为 HLS 流,以便可以通过 Web 服务器访问它。 使用 ffmpeg 从 CCTV 流式传输视频,命令如下 $ ffmpeg -i "rtsp://cam-1.loc:554?user=admin&password=admin&channel=1&stream=0" -hls_time 3 -hls_wrap 10 -f mpegts udp://localhost:6601 ffmpeg version 4.2.8 Copyright (c) 2000-2022 t...

Admin

为什么播放列表块的持续时间不同?
ffprobe

为什么播放列表块的持续时间不同?

我有来自 Twitter/x 的这个 m3u8 播放列表,其中有这个块: #EXTINF:2.923, chunk_1701372432609842942_707_a.aac #EXT-X-PROGRAM-DATE-TIME:2023-11-30T19:27:21.236Z 正如您所见,该块的持续时间为2.923。 我尝试使用 ffprobe 检查持续时间: ffprobe chunk_1701372432609842942_707_a.aac 2>&1 | grep "Duration" 输出: Duration: 00:00:03.17...

Admin

解码后重新计算 MP4 视频的平均帧率
ffprobe

解码后重新计算 MP4 视频的平均帧率

对于示例 mp4 视频,我发现至少某些字段(例如 nb_frames)的标头元数据值与解码视频时检索到的实际值(即 nb_read_frames)之间存在差异。 我找到了有关如何解码并获得正确帧数和持续时间的文档,但我正在尝试通过交叉检查 avg_frame_rate 来做同样的事情。有没有办法解码并重新计算 mp4 视频的平均帧速率? 我可以通过以下方式运行基本分析(正确吗?): ffmpeg -i input_file.mp4 -f null - 但我不明白如何解释结果,或者我是否可以从这些值中得出平均帧速率。我可以将帧数除以此命令输出中给出的持续时间吗...

Admin