node调用ffmpeg转流

本文详细介绍了如何在Node.js环境中通过ffmpeg将实时H264数据流转换为FLV格式,包括代码实现和命令行解释。重点在于处理ffmpeg的输入输出和错误处理。

ffmpeg始终是音视频领域绕不过去的一个坎,也是一个特别好的工具。虽然再node库里面有根据ffmpeg编译的库,比如 libav.js和fluent-ffmpeg之类,但是调用原生的ffmpeg应用也是一种方法。

这边先上代码再详解(H264转FLV)

 function DecodeH264ByteToFlv(){
        //ffmpeg -r 30 -i .\android.264 -c:v libx264 -vcodec copy 'C.flv'
        ffmpeg = spawn('ffmpeg', [
            '-r', '30',
            '-i', '-',
            '-c:v',
            'libx264',
            '-vcodec', 'copy',
            '-f', 'flv',
            // 'abc.flv'
            'pipe:1'
        ])
        ffmpeg.stdin.on('error', (e) => {
            console.log('FFmpeg STDIN Error', e);
          });
          
        // FFmpeg outputs all of its messages to STDERR.  Let's log them to the console.
        ffmpeg.stderr.on('data', (data) => {
            console.log('FFmpeg STDERR:', data.toString());
        });

        ffmpeg.stdout.on('data', (data)=>{
        //output flv stream
            console.log(data)                         
        });
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值