简单说下ffmpeg推流以及服务器拉流到客户端播放

网上有很多推流拉流的教程,我都试过,都卡在了拉流以及客户端播放,大抵情况就是服务器将流数据转为base64,传到客户端 客户端将base64转为原数据再进行播放处理,可播放时使用的是

'data:image/jpeg;base64,' + base64decode(bytes.toString())

眼睛好的都已经看到   这里图片已经指定为了base64   为什么还需要转一次呢  这就是问题所在

推流使用命令或者代码

ffmpeg -re -i "xxxx.mp4" -vcodec libx264 -acodec aac -f flv rtmp://xxx.xxx.xxx.xxx:Xxx/xxxx

具体命令含义可看这位大哥整理的ffmpeg常用基本命令(转) - 瓦楞球 - 博客园

服务器引用FFmpeg的包仅需寥寥几句 

  var stream = new FFMpeg({
            input: "xxxx"//此处可为拉流地址也可为本地视频"rtmp://xxx.xxxx.xxx.xx/home" or "xxx.mp4" // stream uri
            // , rate: 10 // output framerate (optional)
            // , resolution: '640x480' // output resolution in WxH format (optional)
            // , quality: 3 // JPEG compression quality level (optional)
        });
        console.log(stream);
        var pipeStream = function (data) {
            // socket.emit('data', stream.toString('base64'));
            session.send( data.toString('base64'));
        };
        stream.on('data', pipeStream);

其中参数意思均可百度得知,此处不解释

这里将流数据发往客户端,客户端仅需接受到数据就可使用 

Img.skin = 'data:image/jpeg;base64,' + received_msg;
or
Img.src = 'data:image/jpeg;base64,' + received_msg;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值