问题标签 [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.
ffmpeg - ffprobe 或 avprobe 在 JSON 输出中返回纯文本错误
我正在运行以获取有关...avprobe
中的视频的流信息JSON
avprobe -loglevel quiet -show_format -show_streams file.m4v -of json
这基本上与ffprobe
or完全相同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
ffmpeg - 如何使用 avprobe / ffprobe 检测音频采样率?
我正在使用通过 Homebrew 安装的 libav 9.6。
即使采样率显示在命令行输出的标准输出中,该-show_format
选项根本不会显示音频文件的采样率信息。
这是 BASH 终端输出:
和python代码示例:
所以我知道采样率可能是在-show_format
选项结果中显示的特定于流的显示。但是没有任何其他选项可以检测特定音频流的采样率,即使可以-ar
在重新编码时设置它。
我向 libav 提交了一张票,但我只是好奇是否有任何其他方法可以从 libav 探测工具中提取采样率。我很感激事先的回答。
PS:在这种情况下,对于ffmpeg(ffprobe)的上游项目将是相同的问题。
python - 你如何在 Python 中处理管道和输出?
我试图在我的 python 脚本中执行这个命令:
我不断得到:
我已经尝试将 args 拆分,但我一直收到 -of json -show_streams 部分的错误,据记录,它看起来像这样:
audio - 查找视频文件中是否存在音频
我试图弄清楚视频中是否存在音频,以便使用 ffmpeg 提取 mp3。当视频不包含音频通道时,ffmpeg 会创建一个空的 mp3 文件,我首先使用它来确定视频中是否存在音频。我确信有更好的方法来识别视频中是否存在音频。avprobe 会对此有所帮助吗?谁能指出我的资源或可能的解决方案?
编辑:令人惊讶的是,我的服务器上运行最新版本的 ffprobe 的相同命令没有运行。它抛出一个错误说
无法识别的选项“select_stream”
无法为选项“select_stream”设置值“a”
任何想法如何纠正这个问题?
libav - LIBAV - avprobe
来自linux背景。我只是想知道在 OSX 上安装 avprobe 的最佳方法是?
我尝试安装 libav:http://libav.org/download.html但这似乎使用 avconf。我有一个由其他人编写的脚本,该脚本依赖于直接执行的 avprobe。
谷歌并没有真正的帮助。我需要能够直接运行 avprobe。
谢谢
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”功能,行为都不会改变。为什么会这样?
linux - 如何将 avprobe 的输出重定向到文件?
我在将输出重定向到文件时遇到问题。
我正在用 bash 编写脚本。
这是代码:
不幸的是,我在 file_parameters.txt 中得到的唯一东西是:
它不会抛出任何错误。当我在终端中写入“avprobe file_name”时,它可以正常工作。
我应该如何编写它才能使其工作?
先感谢您。
ffmpeg - 如何使用 avconv/ffmpeg 获取 H264 文件的持续时间/比特率
执行avprobe test.h264
输出
执行file test.h264
输出
请注意,该文件没有损坏或损坏,我可以在 VLC 上毫无问题地播放它。
有没有办法从原始 H264 文件中获取持续时间和比特率?我在某处读到,如果我先解码文件可能有可能,但我不确定如何做到这一点。
编辑#1
我是使用 Python 库创建 H264 文件的人picamera
。
编辑#2
运行时的控制台输出avconv -i test.h264 -f null -
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 被保存,但随后循环结束,我的屏幕淹没在红色错误中。
gstreamer - Gstreamer gst-launch-1.0 选择音频流进行转码
使用 avprobe 检查一个 ts 文件我有这个:
我正在测试此命令以通过网络转码为 mp4 一个测试 ts 文件,它工作正常,但使用程序 30611 的默认视频和音频流:
但我想选择第一个或第二个音频流。我在文档或互联网上找不到如何做到这一点。请问你能帮帮我吗?