我正在尝试使用FFprobe来测试流链接是否处于活动状态.
例如,这是一个有效的流媒体链接:
ffprobe -loglevel quiet -show_streams rtmp://Lrmh0w.cloud.influxis.com/yoy/_definst_/185
Run Code Online (Sandbox Code Playgroud)
我得到输出意味着链接是活跃的.
但是,一旦我将链接更改为无效的链接:
ffprobe -loglevel quiet -show_streams rtmp://Lrmh0w.cloud.influxis.com/yoy/_definst_/18555555555
Run Code Online (Sandbox Code Playgroud)
该命令在后台运行,没有结果.
有没有办法绕过这个,还是有任何ffprobe超时参数?我从官方网站文档中找不到它.
执行avprobe test.h264输出
Input #0, h264, from 'test.h264':
Duration: N/A, bitrate: N/A
Stream #0.0: Video: h264 (High), yuv420p, 720x480, 25 fps, 25 tbn, 50 tbc
Run Code Online (Sandbox Code Playgroud)
执行file test.h264输出
test.h264: JVT NAL sequence, H.264 video @ L 30
Run Code Online (Sandbox Code Playgroud)
请注意,文件没有损坏或损坏,我可以在VLC上播放它没有任何问题.
有没有办法从原始的H264文件中获取持续时间和比特率?我在某处读到如果我首先解码文件可能是可能的,但我不确定如何做到这一点.
编辑#1
我是那个用Python库创建H264文件的人picamera.
编辑#2
运行时控制台输出 avconv -i test.h264 -f null -
avconv version 11.7-6:11.7-1~deb8u1+rpi1, Copyright (c) 2000-2016 the Libav developers
built on Jun 17 2016 02:13:49 with gcc 4.9.2 (Raspbian 4.9.2-10)
[h264 @ 0x1bcc200] Estimating duration from bitrate, …Run Code Online (Sandbox Code Playgroud) 如果我运行ffprobe -timeout 20 -v trace -print_format json -show_format -show_streams 'http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_2mb.mp4',Connection timed out即使我将超时设置为 20 秒,命令也会立即失败并显示错误。它不会在接近 20 秒的任何地方等待,只是立即退出,退出代码为 1。这是跟踪输出。
ffprobe version 3.2.2 Copyright (c) 2007-2016 the FFmpeg developers
built with gcc 6.2.1 (GCC) 20160830
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-netcdf --enable-shared --enable-version3 --enable-x11grab
libavutil 55. …Run Code Online (Sandbox Code Playgroud) 我正在尝试检索使用 video.js 插件(https://github.com/collab-project/videojs-record)录制的 .webm 视频文件的持续时间。
我正在使用 ffmpeg 来获取持续时间,但它总是返回 N/A:
ffprobe version 3.0.2-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2007-2016 the FFmpeg developers
built with gcc 5.3.1 (Debian 5.3.1-16) 20160424
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi --disable-indev=sndio --disable-outdev=sndio --enable-librtmp --enable-libmfx --enable-libzimg --cc=gcc
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.102 / 57. 24.102
libavformat 57. 25.100 / 57. 25.100 …Run Code Online (Sandbox Code Playgroud) 我希望使用 ffprobe 列出所有音频流,并显示使用的语言。
简单地说,这是我试图找到从视频文件中自动删除非英文曲目的方法的一部分。
我是 ffprobe 的新手,但有一些使用 ffmpeg 的经验。
因为我知道无法保证语言跟踪的顺序。
这就是为什么我认为列出每个曲目至关重要,按编号,然后是语言,然后当我知道这部分有效时,找出如何删除非英语的。
谢谢你的时间。
函数可以返回一个数字,指针和大多数你想要的类型,但它的含义是什么?
return ret < 0;
Run Code Online (Sandbox Code Playgroud)
(此代码段来自代码的最后一行,ffprobe.c.)