3. 性能测试
有个参数可以方便进行性能测试 。我们对A40i开发板自带的一个MP4视频就行解码测试 , 命令行如下:
ffmpeg-benchmark -i translate.mp4 -f null –
得到的测试数据如下:
由于我手上暂时没有其他的开发板可以对比 , 于是就通过我用了5年的i7-6500笔记本测试了一下 , 测试结果如下:
video:148kBaudio:3428kB subtitle:0kB other streams:0kB globalheaders:0kB muxingoverhead:unknownbench:utime=2.820s stime=0.110s rtime=0.956sbench:maxrss=14208kB
4. 产生实时视频流
可以支持实时视频流的发送和接收 , 从而可以把-C开发板上的视频实时发送到PC上 , 由PC上的软件实时接收并显示 。我们可以使用下面的命令将-C开发板上的一个MP4转换为RTP码流发送的PC上:
ffmpeg -re -i test.mp4 -an -c copy -f rtp rtp://192.168.0.105:1234
使用可以看到在PC机的1234端口收到大量来自-C开发板的H.264视频流 。
如果想在PC上显示视频流 , 需要建立一个SDP文件 , 它描述视频流中的端口和编码信息 。
SDP是来自SIP标准中定义 , 目前VLC、Apple 和等很多软件都可以打开SDP文件 , 并按照SDP中的描述显示视频流 。SDP文件并不需要手工编写 , 在运行时它会显示命令行所对应的SDP定义 , 如下图所示 。
也可以用重定向将输出写入一个SDP文件 , 如:
ffmpeg -re -i test.mp4 -an -c copy -f rtp rtp://192.168.0.105:1234 > rtp.sdp
下面就是使用VLC显示的接收到的视频流 。
5. 转发USB摄像头的视频流
前面演示了将MP4文件转换为视频流 , 我们也可以将USB摄像头采集的内容实时转发到PC上 , 使用下面的命令行即可 。
ffmpeg -y -t 15 -r 25 -f video4linux2 -i /dev/video0 -f rtprtp://192.168.0.105:1234 > usb.sdp
再使用下面的命令行就可以看到实时抓取的USB摄像头的视频流了:
【发烧友实测 | 用飞凌OKA40i-C开发板玩转FFmpeg】ffplay -protocol_whitelist "file,udp,rtp" -i usb.sdp
- 网络电视机顶盒怎么样?发烧友实测网络电视机顶盒排名
- 给AI挖坑 | 实测New Bing能否回答员工那些刁钻的问题?
- 海河发生流域性大洪水,8条河流发生有实测资料以来最大洪水 河流方面的中国之最
- CSDN官方开发工具利器猿如意实测
- 50张HiFi录音的经典CD,音响和音乐发烧友的最爱 世界十大顶级音响
- 它们拥有世界顶级飞行速度是军用飞机的王者之选 世界之最军用
- 解密:军事发烧友杜牧为何敢嘲笑周瑜用兵?
- 水滴轮远投实测排名,路亚纺车轮与之水滴轮的区别?
- 康宽杀虫剂能用飞机打药吗?
- 手机虚拟摄像头如何选?实测好用的手机虚拟摄像头APP 虚拟摄像头怎么选