raspberrypi视频流+jsmpeg显示过程心得

本来只是为了玩玩智能小车,小车装上4G卡,在办公室里用电脑操控,基本已做好,就差个可视的视频了,由于资料信息零散,害得我在办公室里弄了一整天,最好弄好了,记录一下几点心得:

一、安装ffmpeg不要直接用apt-get那个装法,用git下来再编译,还有h264编码库得单独编译,那个只能装一个基础版的ffmpeg,很多编码库也没有,用不了,推流会推不成功;

二、jsmpeg库,也在github上开源,下载来,里面有一个 websocket-relay.js 运行于服务端的程序,其功能做为视频流接收的一个中转站,接收前端推上来的TS流,然后WEB端使用view-stream.html与那个js前端文件,通过websocket来从中转站将流取出并使用canvas来渲染出来;

三、树莓派通过自身集成的命令raspivid来取摄像头视频,再使用ffmpeg做h264编码,再推送到nodejs的websocket-relay.js去,具体命令如:

raspivid -t 0 -w 640 -h 480 -o – | ffmpeg -i – -f mpegts -codec:v mpeg1video -s 640×480 -b:v 150k -r 25 -bf 0 -ac 1 -b:a 128k http://xxxx:9001/1111

特别注意,首先nodejs要启动好websocket-relay.js,启动命令为:

node websocket-relay.js 密码 8081 8082

完后,视频推流的时侯,一定要注意尺寸要与view-stream.html中canvas的尺寸一致,否则会出现显示乱码或各种异常情况。

最后我第一次做的小车,记录一下

发表评论

电子邮件地址不会被公开。 必填项已用*标注