It all works pretty well but I would like my content to be streamed at 720p60fps.. With the default ffmpeg string(on this thread page3 it seems to be pushing to twitch at only 30fps? what exactly should I change?
rtmp laptop:
-windows 8.1 x64->virtualbox with your(014) nginx debian 1.2.7(4 virtual cores used 1024mb) ffmpeg fast preset 720p60fps
-i7 3610qm
-16gb ram
One more thing: I used the twitch livestream analyzer from r1ch and everything was perfect except:
"Your bitrate has high variation (4729 kbps ±625.56) which may cause lag for viewers. Make sure you are broadcasting in CBR (Constant Bitrate) mode and that "CBR Padding" or "Strict CBR" is enabled.""
I didn't change anything about the default 3000kbps max/min/... from your nginx build. So is there a way to fix this in the ffmpeg line?
Or is this because my obs is sending at 15000kbps to the rtmp server and it should be lowered from there as well?
Stream Info
Resolution: 1280x720
Frame Rate: 59 FPS
Audio: aac, 44100 Hz, stereo, s16, 104 kb/s
Total Bitrate: 4892 kbps
Padding: None
Stream Uptime: 1h 8m 29s
Video Frame Rate
Your average stream frame rate looks stable at 59 FPS ±2.2.
Quality Check
Your bitrate is sufficient for the resolution and FPS you are using (qval: 0.087).
Your audio levels look good (level: -25.0929 dB, peak: -15.5744 dB).
Stream Availability
United States: Poor
Europe: Poor
Dropped Frames
No dropped frames were detected.
Keyframe Check
Your keyframe interval looks good - 2s ±0 (120 frames ±0)
for more info
When I watch the stream from the twitch dashboard on pc, It freezes for 1-2 sec each minute or so. Even from the twitch app on my HTC one(m8) smartphone(Not happening with other channels). Music/sound never stops though. I don't know what might be the big cause for that but I'm guessing it all has to do with my cbr not being strict..
Also another thing: in my twitch dashboard I get the message I have a 4sec keyframe interval..although in my obs settings it's set to "2" so I think that also has to be changed somewhere in that ffmpeg line?
Sry for the wall of text, but I'm pretty close to being satisfied with the setup.
Below are the settings that I use. I had the stuttering every now and then problem as well for a long time. I think I fixed it the other day by doing two things: 1) I made the buffer twice the size as the encoded video. 2) I made OBS resize the feed down to 720p before sending it on to the transcoder.
As far as the high bitrate goes, I'm not sure. I haven't used that Twitch tester, so I will have to monkey with it. You could look in Resource Monitor in Windows and go to the Networking tab to see how much data the VM is sending to the internet per second. You would open that on your laptop of course.
EDIT:
Oh, one thing about the stutter every minute or so is it doesn't happen if you watch the feed through a means other than Twitch. For example, if you watch your RTMP feed from your phone using MX Player, it won't stutter ever. If you watch from your own streaming page instead of Twitch, it doesn't stutter there either. Let me know if you still get stuttering after changing the bufsize in the ffmpeg command and the resolution in OBS.
Just noticed I had both exec enabled. Placed a # in front of the first exec
Of course that solved it :)
Having troubles finding the right fps/bitrates/presets now though. at this moment I'm about to try the exact same settings as you on both obs and the rtmp machine. One question though: what is the -re for? Googled it, but cannot seem to find an answer on that.
According to the ffmpeg man page, -re makes it simulate a grab device. I take that as meaning to simulate a dedicated capture card.
By the way, if you type "man ffmpeg" in the console, you'll be presented with the same info as the site I linked. You can use this same practice for nearly all Linux programs, like "man nginx" also.
For bitrate, I plugged in my settings based off of two things. I used the OBS settings from a separate thread here on this forum about hosting your own RTMP server (but not this preconfigured VM thread). For the ffmpeg settings, I used a Twitch guideline page that tells you what you should use depending on the resolution you're pushing. Search for "bitrate" on the page and you'll see recommendations. 2500k is what I have set in ffmpeg because that's what they say should be good for 720p. I get all green check marks for quality when I broadcast.
You might notice that the ffmpeg command I use does a straight copy of the audio coming from OBS. That means you should adjust it in OBS if you want it changed. You could also adjust ffmpeg, but I personally prefer it the way it is currently.
Hi, i used this guide a long time ago, i have since got a Rasberry Pi 2 and that will handle all my rtmp needs, i followed this guide https://obsproject.com/forum/threads/how-to-set-up-your-own-private-rtmp-server-using-nginx.12891/ but its missing one rather crucial thing, it doesnt have the website page like your live image does, anychance you can post how to do that? it would be majorly appreciated
Page 3 of this thread is where I mention /usr/local/nginx/html/stream/index.html. You will need to copy or mimic that file structure and then adjust the contents of index.html as necessary.
When I recreated a streaming server instead of using my VM, I used WinSCP to copy folders and files to my computer, and then copied them to the new streaming server. You could copy them directly from the VM to the new server, but I chose not to.
I have considered making this streaming setup into a nice installation script as another option beside downloading the VM. The goal would be to just run a single script and voila, you're done. It would be nice to have for Rasberry Pi or hosted VPS's, although I don't have a Pi to test with. I just haven't taken the time to develop such a script.
i loaded up the console on the vm image (ctrl+alt+t)
located the www folder (think it was /etc/www but not sure)
archived the live folder
then it got tricky lol
i used the command line ftp client in the vm image to connect to the pi's ftp and transfered the zip over
then transfered it to my pc to be unziped and edited
transfered the live folder to my ngnix html folder (/usr/local/nginx/html/)
chmod 777 it (im lazy)
i can now go to myip/live and viola there it is :)
why all the steps? the company that makes jwplayer seem to have taken the old downloads down (hence why the wget fails in other guides and now you need a license for the new version (limited to number of streams to for free users))
i like the old version, im not making money from my streams (and certainly never will from the jwplayer that is only thier for my co-host to see) after all
im sure there are easier ways lol
i do recommand a pi2, great devices if a little frustrating at times...that reminds me, must back up the sd card
So, guys, I'll just leave this message here in case someone'll be interested in this info (I didn't find it when was looking for a laptop to buy):
I now own a laptop Asus X550DP and bought it to transcode&stream my gameplay to ****d up laggy twitch.
AMD A10-5750M, Radeon HD 8670M and Radeon HD 8670G
On fresh windows 8 I've built my own server of ubuntu 14.04 64x, gave it all 4 cores with 100% times in virtualbox, and setup nginx + ffmpeg.
exec ffmpeg -i rtmp://localhost/restream/1234 -vcodec libx264 -g 60 -preset veryfast -b:v 2000k -maxrate 2500k -bufsize 3000k -s 1280x720 -sws_flags lanczos -acodec copy -r 30 -f flv rtmp://localhost/lowered720/;
is my setup for this transcoding, demo is saved here: http://www.twitch.tv/sneaky4oe/c/6273131
It consumes from 50% up to 85%. Rarely goes to 100% of CPU usage, but overall picture is nice, as you can see. It's possible to lower preset and increase bitrate, but won't work with damned twitch.
In case someone'll need commands I use for server:
rtmp
{
server
{
listen 1935;
chunk_size 8192;
ping 10s;
Hi, I'm a new member and I just noticed this thread is in the "archived" section of the board... so this info is likely older but whatever... This is still the thread I used to setup my stream so I'll here before I move to other parts of the board.
I followed this thread and I got the stream to work on my Wired connections. Any computer that is wired to the network can now get the feed from my Nginx server. But... it's not working on the Wireless! I don't have a laptop so I can't tell if the issue is the portable device or if it's a networking problem. Every time I try to watch the feed from a mobile device I get a "no playable source found" error. I'm able to get to the "index.html" page that has the player, the player loads, but the feed does not load.
I tried the following mobile devices: Blackberry Z30 running BB10, BlackBerry Playbook running 2.x, iPad 1, iPad3, Android phone running Kitkat.
To sum it up... the feed works fine for wired computers, does not work on wireless mobile devices.
JWPlayer was preloaded on the VM I downloaded, and I added VIDEO-JS. They both behave the same on wireless.
Hi, I'm a new member and I just noticed this thread is in the "archived" section of the board... so this info is likely older but whatever... This is still the thread I used to setup my stream so I'll here before I move to other parts of the board.
I followed this thread and I got the stream to work on my Wired connections. Any computer that is wired to the network can now get the feed from my Nginx server. But... it's not working on the Wireless! I don't have a laptop so I can't tell if the issue is the portable device or if it's a networking problem. Every time I try to watch the feed from a mobile device I get a "no playable source found" error. I'm able to get to the "index.html" page that has the player, the player loads, but the feed does not load.
I tried the following mobile devices: Blackberry Z30 running BB10, BlackBerry Playbook running 2.x, iPad 1, iPad3, Android phone running Kitkat.
To sum it up... the feed works fine for wired computers, does not work on wireless mobile devices.
JWPlayer was preloaded on the VM I downloaded, and I added VIDEO-JS. They both behave the same on wireless.
My guess is none of those tested devices can play Flash within their web browsers. It shouldn't have anything to do with wired vs. wireless devices. If you tried a laptop over wireless, I bet it would work. If I'm correct, then you can install apps on your mobile devices that can watch RTMP feeds and use the RTMP URL syntax I provided in this post.
If your devices are not using your WiFi and are instead using a cellular service, then your DNS is not set up to allow outside connections.
I have not tested running this 1.3 version on Windows 8.1, but I know the older ones work. You should be able to edit the virtual machine to fix the problem. Remove the ethernet controller and then add a new one. I'm thinking that the driver VirtualBox ties to Windows 8.1 for networking purposes is different than the one it ties to Windows 7, thus the conflict.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.