问题标签 [avprobe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3929 浏览

ffmpeg - ffprobe 或 avprobe 在 JSON 输出中返回纯文本错误

我正在运行以获取有关...avprobe中的视频的流信息JSON

avprobe -loglevel quiet -show_format -show_streams file.m4v -of json

这基本上与ffprobeor完全相同ffmpeg -i(并且我得到相同的错误。)

ffprobe -loglevel quiet -show_format -show_streams file.m4v -print_format json

该命令大部分时间都有效......但是,有时我会有一个视频,其中有一个“不受支持”的奇怪流,我会得到这样的东西(缩写。)

当我运行命令时,我返回JSON+ 中的错误plain text,这使结果无效JSON,我必须稍后“清理”它。

我正在抑制输出中的错误,-loglevel quiet但错误仍然出现。

我如何告诉avprobe/ffprobe不显示此错误并因此取回正确的JSON对象?


更长的输出示例

ffprobe, 来自源代码, MacOS

avprobe,来自源代码,Ubuntu Linux

0 投票
3 回答
10435 浏览

ffmpeg - 如何使用 avprobe / ffprobe 检测音频采样率?

我正在使用通过 Homebrew 安装的 libav 9.6。

即使采样率显示在命令行输出的标准输出中,该-show_format选项根本不会显示音频文件的采样率信息。

这是 BASH 终端输出:

和python代码示例:

所以我知道采样率可能是在-show_format选项结果中显示的特定于流的显示。但是没有任何其他选项可以检测特定音频流的采样率,即使可以-ar在重新编码时设置它。

我向 libav 提交了一张票,但我只是好奇是否有任何其他方法可以从 libav 探测工具中提取采样率。我很感激事先的回答。

PS:在这种情况下,对于ffmpeg(ffprobe)的上游项目将是相同的问题。

0 投票
2 回答
1330 浏览

python - 你如何在 Python 中处理管道和输出?

我试图在我的 python 脚本中执行这个命令:

我不断得到:

我已经尝试将 args 拆分,但我一直收到 -of json -show_streams 部分的错误,据记录,它看起来像这样:

0 投票
5 回答
23718 浏览

audio - 查找视频文件中是否存在音频

我试图弄清楚视频中是否存在音频,以便使用 ffmpeg 提取 mp3。当视频不包含音频通道时,ffmpeg 会创建一个空的 mp3 文件,我首先使用它来确定视频中是否存在音频。我确信有更好的方法来识别视频中是否存在音频。avprobe 会对此有所帮助吗?谁能指出我的资源或可能的解决方案?

编辑:令人惊讶的是,我的服务器上运行最新版本的 ffprobe 的相同命令没有运行。它抛出一个错误说

无法识别的选项“select_stream”

无法为选项“select_stream”设置值“a”

任何想法如何纠正这个问题?

0 投票
2 回答
4597 浏览

libav - LIBAV - avprobe

来自linux背景。我只是想知道在 OSX 上安装 avprobe 的最佳方法是?

我尝试安装 libav:http://libav.org/download.html但这似乎使用 avconf。我有一个由其他人编写的脚本,该脚本依赖于直接执行的 avprobe。

谷歌并没有真正的帮助。我需要能够直接运行 avprobe。

谢谢

0 投票
1 回答
772 浏览

video - avconv“选择”过滤器不丢弃第一帧

我正在尝试使用 avconv 的“选择”过滤器对视频进行分段,以仅从输入文件中提取特定范围的帧。例如,假设我有一个名为 input.mp4 的 60fps 视频文件,有 3000 帧(即 50 秒),然后我运行

我期望的是 output1.mp4 有 input.mp4 的前 2000 帧(持续约 33 秒),而 output2.mp4 有最后 1000 帧(持续约 17 秒)。

我通过运行计算帧数

并检查分配给“框架”的值。

我实际得到的是 output1.mp4 有 2000 帧并持续约 33 秒,但 output2.mp4 有 2999 帧,并且仍持续整整约 50 秒。当我打开 output2.mp4 时,我注意到视频的前 2000 帧实际上只是输入的第 2000 帧的重复,即前 2000 帧似乎被正确过滤,但被第一个接受的帧取代.

这不是pts问题。我使用 avprobe 检查数据包的数量及其相关点:

我看到实际上有 2999 个数据包。

我究竟做错了什么?

附带问题:

  • 假设我做错了什么,为什么 output2.mp4 包含 2999 而不是完整的 3000?
  • 无论我在过滤器中使用“gte”还是“gt”功能,行为都不会改变。为什么会这样?
0 投票
1 回答
568 浏览

linux - 如何将 avprobe 的输出重定向到文件?

我在将输出重定向到文件时遇到问题。

我正在用 bash 编写脚本。

这是代码:

不幸的是,我在 file_parameters.txt 中得到的唯一东西是:

它不会抛出任何错误。当我在终端中写入“avprobe file_name”时,它可以正常工作。

我应该如何编写它才能使其工作?

先感谢您。

0 投票
3 回答
7425 浏览

ffmpeg - 如何使用 avconv/ffmpeg 获取 H264 文件的持续时间/比特率

执行avprobe test.h264输出

执行file test.h264输出

请注意,该文件没有损坏或损坏,我可以在 VLC 上毫无问题地播放它。

有没有办法从原始 H264 文件中获取持续时间和比特率?我在某处读到,如果我先解码文件可能有可能,但我不确定如何做到这一点。

编辑#1

我是使用 Python 库创建 H264 文件的人picamera

编辑#2

运行时的控制台输出avconv -i test.h264 -f null -

0 投票
1 回答
5013 浏览

python-2.7 - Mac 上 ffprobe/avprobe 和 youtube_dl 的 Python 问题

昨天开始自学Python,如有任何礼仪错误,请提前道歉。我的挑战是获取歌曲标题的 .csv 列表,在 YouTube 上搜索每个视频,然后使用 youtube-dl 下载音频。我的代码似乎适用于一个输出文件,但是由于我无法解决的原因,循环结束了。主要错误是DownloadError: [0;31mERROR:[0m ffprobe or avprobe not found. Please install one.但我已经安装了这些(据我所知)。我已经尝试并试图解决这个问题,但没有任何基本知识我会淹死。我正在使用 python 2.7.13。有什么建议吗?对不起丑陋的代码!

主功能:

它使用的函数 youtube_extract.py:

以及 shell 窗口中的完整输出。第一个 mp3 被保存,但随后循环结束,我的屏幕淹没在红色错误中。

0 投票
1 回答
605 浏览

gstreamer - Gstreamer gst-launch-1.0 选择音频流进行转码

使用 avprobe 检查一个 ts 文件我有这个:

我正在测试此命令以通过网络转码为 mp4 一个测试 ts 文件,它工作正常,但使用程序 30611 的默认视频和音频流:

但我想选择第一个或第二个音频流。我在文档或互联网上找不到如何做到这一点。请问你能帮帮我吗?