-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Transmuxing ends when rtmp is publishing with no errors #597
Comments
I've added |
@Sina-KH I had the same problem on M1 Max and solved it by Now fission folders and files are created, but they still do not fuse in the main index.m3u8. Any ideas why or is this behaviour correct and I need to change the stream on the client side player? const NodeMediaServer = require('node-media-server');
const config = {
logType: 4,
rtmp: {
port: 1935,
chunk_size: 100,
gop_cache: false,
ping: 30,
ping_timeout: 60,
},
http: {
port: 8000,
mediaroot: __dirname+'/media',
webroot: __dirname+'/www',
allow_origin: '*',
api: true
},
fission: {
ffmpeg: process.env.FFMPEG_PATH || '/opt/homebrew/Cellar/ffmpeg/6.0/bin/ffmpeg',
tasks: [
{
rule: "live/*",
model: [
{
ab: "128k",
vb: "3500k",
vs: "1920x1080",
vf: "30",
},
{
ab: "128k",
vb: "1500k",
vs: "1280x720",
vf: "30",
}
]
},
]
},
trans: {
ffmpeg: process.env.FFMPEG_PATH || '/opt/homebrew/Cellar/ffmpeg/6.0/bin/ffmpeg',
tasks: [
{
app: 'live',
vc: "copy",
ac: "copy",
hls: true,
hlsFlags: '[hls_time=1:hls_list_size=3:hls_flags=delete_segments]',
mp4: true,
mp4Flags: '[movflags=frag_keyframe+empty_moov]',
},
]
},
};
const nms = new NodeMediaServer(config);
nms.run(); Also I noticed that the main incoming stream does not have a resolution. Maybe that plays a role: |
Did you try |
@Sina-KH, yes but maybe I'm missing something.
Did you manage to fuse the fission's m3u8 on your main stream? Also do you have |
Exactly, I've created the primary .m3u8 file just like you did.
And I have no idea about your problem (size issue you mentioned) but with these changes my stream is working fine. It also worth mentioning that the main hls output did not respect hls_time I passed to its flags, so I had to use fission and recreate my original resolution hls, also. |
hi, I have tried on react-native-nodemediaclient version 0.3.3 here
but when I look at the log in the nodemediaserver "handle video" section, I see the video dimensions are 0x0 so when I play the video in VLC the result is only sound.
Meanwhile, if I comment HWAccelEnable it will be read.
but there is a new problem, I can't play it on Android with hls extenston with error message:
what do you think is wrong? |
Hi. Thanks for your great library.
I've configured nms on 2 of my test servers and it works great, but when I'm trying to make it work on production, it creates directories for different qualities, but does not generate .ts and .m3u8 for them. It only creates original hls outputs.
My logs show that instantly after
[rtmp publish] Handle video.
and[rtmp publish] Handle audio.
files, it receives[rtmp publish] Close stream. id=Y8KK9U3D streamPath=/live/15_1280 streamId=1
and[rtmp play] Close stream. id=7MC9Q65N streamPath=/live/15_1280 streamId=1
Please note that everything is the same on my test and prod servers, and with no known cause, it fails on some of my servers and works on some other ones. I've tried both deploying dockerized and not dockerized versions, with different node versions.
FFMPEG version is also the same on all systems.
My configs:
and logs:
The text was updated successfully, but these errors were encountered: