如何在 ffprobe 中省略 JSON 输出中的错误消息?
How to omit error messages in JSON output in ffprobe?
使用 ffprobe 获取流详细信息时出现 Input buffer exhausted before END element found
错误。 ffprobe 提供请求的信息,但错误包含在输出中并创建无效 JSON.
ffprobe -loglevel error -select_streams v:0 -show_entries stream=width,height:stream_tags=rotate -of json testVideo.mp4
{
[aac @ 0x7fc06201cc00] Input buffer exhausted before END element found
"programs": [
],
"streams": [
{
"width": 640,
"height": 640,
"tags": {
}
}
]
}
如何在使用 ffprobe 时防止 JSON 输出中出现错误消息?
这是视频linktestVideo.mp4
重定向标准错误
JSON输出到stdout。错误输出到 stderr。两者都在控制台输出中打印。您可以重定向 stderr 输出,这样它就不会包含在控制台输出中。
ffprobe -select_streams v:0 -show_entries stream=width,height:stream_tags=rotate -of json testVideo.mp4 2> error.log
忽略错误
此错误并未阻止您获取请求的数据,因此您可以忽略它。使用 -loglevel quiet
/ -v quiet
消除错误以防止它们包含在输出中。
ffprobe -loglevel quiet -select_streams v:0 -show_entries stream=width,height:stream_tags=rotate -of json testVideo.mp4
与重定向相比的缺点是您可能会错过重要的错误。
使用 ffprobe 获取流详细信息时出现 Input buffer exhausted before END element found
错误。 ffprobe 提供请求的信息,但错误包含在输出中并创建无效 JSON.
ffprobe -loglevel error -select_streams v:0 -show_entries stream=width,height:stream_tags=rotate -of json testVideo.mp4
{
[aac @ 0x7fc06201cc00] Input buffer exhausted before END element found
"programs": [
],
"streams": [
{
"width": 640,
"height": 640,
"tags": {
}
}
]
}
如何在使用 ffprobe 时防止 JSON 输出中出现错误消息?
这是视频linktestVideo.mp4
重定向标准错误
JSON输出到stdout。错误输出到 stderr。两者都在控制台输出中打印。您可以重定向 stderr 输出,这样它就不会包含在控制台输出中。
ffprobe -select_streams v:0 -show_entries stream=width,height:stream_tags=rotate -of json testVideo.mp4 2> error.log
忽略错误
此错误并未阻止您获取请求的数据,因此您可以忽略它。使用 -loglevel quiet
/ -v quiet
消除错误以防止它们包含在输出中。
ffprobe -loglevel quiet -select_streams v:0 -show_entries stream=width,height:stream_tags=rotate -of json testVideo.mp4
与重定向相比的缺点是您可能会错过重要的错误。