gwuhaolin / livego

live video streaming server in golang
MIT License
9.67k stars 2k forks source link

使用FFMPEG推流的时候,如果只有视频流,没有音频流的话,RTMP是正常的,但是FLV输出是不正常的 #50

Open fanr520 opened 5 years ago

fanr520 commented 5 years ago

使用FFMPEG推流的时候,如果只有视频流,没有音频流的话,RTMP是正常的,但是FLV输出是不正常的 问题出在: \protocol\httpflv\writer.go 行44 ret.ctx.Write([]byte{0x46, 0x4c, 0x56, 0x01, 0x05, 0x00, 0x00, 0x00, 0x09}) 此处已经把视音频格式定死了,如何根据当前流来判断是否有音频呢?

winshining commented 5 years ago

解析rtmp的setDataFrame信息,里面有关于这个流的音视频的说明,根据信息修改flv的header里相关的域

shiningHouse commented 5 years ago

可以从cache中获取音视频的媒体信息来判断