chenypgg

Results 11 comments of chenypgg

对于上面提出的两个问题已经找到修复的方法,修改文件的地方都在node_flv_session.js文件中,首先在NodeFlvSession类中添加三个方法: ``` fetchStop() { let streamPaths = []; for (let session of context.sessions.values()) { if (session.TAG === "rtmp" && session.players.size !== 0) { streamPaths.push(this.getStreamPath(session)) } } for (let session of...

我也遇到了这个问题,解决办法也有,就是做一个定时任务,每隔两分钟运行一次,定时任务的具体处理过程是循环context.sessions这个Map,然后把session.players.size为0的调用其end()方法结束即可,他这个不结束的话,ffmpeg进行一直都在,占用服务器内存不说也占用着服务器的带宽

This project supports ws[s]-fmp4

播放地址搞错了吧?rtmp的播放地址没有问题,其实就是你的推流地址 hls应该为:http://ip:8000/live/zhibo/index.m3u8?sign=1873067467-030086ab5a32d97620445c7397e5b880 dash为:http://ip:8000/live/zhibo/index.mpd?sign=1873067467-030086ab5a32d97620445c7397e5b880

看源码好像是没有获取到你配置的ffmpeg的版本信息,你发的第二张图片中,是判断ffmpeg版本的时候,version是undefined,它这个程序要求ffmpeg的版本大于4.0.0,你看一下这个你安装的ffmpeg版本号是多少

你使用命令的方式调用一下ffmpeg -v 看一下呢,我这里下载的是ffmpeg 4.2.1,运行的时候没有报你的那个version错误,但是hls还是没有生产出来,只看到创建了live/zhibo/ 这个路径,但是zhibo下面的index.m3u8及对应的ts切片没有创建出来,我尝试改一下hlsFlags的命令参数试试

你的问题已经找到了原因了,你的app.js里面配置ffmpeg路径要写为: `ffmpeg: 'C:/Program Files/ffmpeg/ffmpeg.exe'` 如果你想要在windows环境下能播放m3u8地址,那么需要在node_trans_seesion.js的run方法中: `let ouPath = `${this.conf.mediaroot}/${this.conf.streamApp}/${this.conf.streamName}`;` 这句下面添加一行: `ouPath = ouPath.replace(/\\/g, "/");` 希望能帮到你

![微信图片_20211228135949](https://user-images.githubusercontent.com/42023726/147533156-43b5e525-fe49-4d4d-ab05-8db8eb708ac3.png) 这个地方,你要确保你推的视频流编码为h264编码,音频的编码要确保为aac

比如你的这个服务的IP地址为172.16.5.100,开放了至少两个端口:http的为8000,https的为8443,RTMP的为1935,那么你推RTMP的时候,命令就为:ffmpeg -re -i yourMediaFile -acodec mp3 -vcodec libx264 -f flv rtmp://172.16.5.100:1935/live/zhibo

或者说你不能保证外部推流的视频和音频编码为我们想要的,那么我们可以在这个服务进行切片时指定视频和音频的编码,我这儿给你一个app.js的示例配置,可以保证m3u8出去的视频编码为h264,音频为aac ``` trans: { ffmpeg:'F:/tools/ffmpeg-441/bin/ffmpeg.exe', tasks:[ { app: 'live', ac: 'mp3', vc: 'libx264', hls: true, hlsFlags:'[f=hls:hls_time=2:hls_list_size=3:hls_flags=delete_segments]', dash: false, dashFlags: '[f=dash:window_size=3:extra_window_size=5]' } ] } ```