Screencasting & Video streaming - Unix Related Arts & Image Manipulation Software

Users browsing this thread: 4 Guest(s)
z3bra
Grey Hair Nixers
I've been recently searching for a way to stream my desktop on the web, with good quality and as few latency as possible. It turns out that video encoding sounds like black magic to me...

I'm using ffserver + ffmpeg + alsa. Pretty simple setup. But I'm struggling to get less than 10 seconds latency, egen with libx264's zerolatency setting. I've read posts like this: http://stackoverflow.com/questions/12020...1#12085571, that helped, but not thst much as I don't understand some terms.

What are your experiences with video encoding and streaming? Would you have some hints about hiw to improve latencies, or user-friendliness of the tools involved?
BANGARANG, MOTHERFUCKER
josuah
Long time nixers
This worked very nice while you shew <code>sick(1)</code>. Only latency, but I do not know video codecs, so I doubt I can help with this.

Maybe one could use vlc to play it, without even requiring command line interaction (File > Open Network Stream, or CTRL + N) so it is user friendly enough this way?

I do not know if it works with your feed, though...
z3bra
Grey Hair Nixers
Good to know! Thanks for the input. Due to the latency, I'll have to send the audio through the stream. I have no idea which codec would be best for it. I kind of figured some good enough presets for the video (x264 + zerolatency + 512K bitrate), but on the audio sofe, I'm totally lost... If anyone has an idea, please tell me!

For VLC, it can totally play the stream! Best is to disable caching to get the lowest latency possible. I personallucioles use "mplayer -nocache" for that. I know that "ffplay" also does a good job at playing those streams.
z3bra
Grey Hair Nixers
For reference, here are my encoding settings:
Code:
Format flv
VideoCodec libx264
VideoFrameRate 25
VideoSize 1440x900
VideoBitRate 900
AVOptionVideo tune zerolatency
AVOptionVideo flags +global_header
PreRoll 0
NoAudio

Still trying to figure out the best option for audio...
josuah
Long time nixers
ffmpeg is such a nice tool! It compile very well (much time, though) without requiring libraries (or some that were already on my OS.

With good documentation, and

And ffplay is a tool built along with ffmpeg, but I dan't know it well enough yet. It still can be used to play in the linux framebuffer ('in tty'), so thanks to you, we can even watch live streaming in the TTY week.
w0ne
Members
I have always used Open Brodcast Software
venam
Administrators
(20-07-2016, 02:14 AM)w0ne Wrote: I have always used Open Brodcast Software
This one: https://obsproject.com/ ?
w0ne
Members
Yea that one, and it's also cross-platform :D
z3bra
Grey Hair Nixers
Sounds pretty neat! Does it also handle the server part?
josuah
Long time nixers
http://hisham.hm/htop/ is using video streaming for its background (actually a gif. Someone else did it, though).

At the bottom of the page:

Quote:Thanks to Alexander Waldeck for the idea of having htop itself as the page background! His page actually presents a live htop session -- mine is just an animated gif with a few frames stolen from his page. :-)

It does not looks like a real video stream, more like hacks to get TTY displayed 'live'.
aah
Members
Cant you just use ffmpeg for recording the video and audacity for the audio then put the 2 tracks together in a video editor or muxer software? I suppose I must be missing something as usual.
z3bra
Grey Hair Nixers
It's possible, but adds an extra complexity layer as you'll have to resynchronise and reencide the video
venam
Administrators
Since we're on a multimedia tone this week, let's bump this thread and broaden the topic a bit.
What do you use for screencasting, or video recording in general?
OBS is probably the go-to solution, but are you using something else?
venam
Administrators
I remembered this project called the olive-editor. I haven't tried it yet but it seems interesting.
TheAnachron
Members
I rarely record my video but when I do I just use ffmpeg with relevant parameters.
Screen sharing is done via a ffserver as well.

The initial idea/setup is from https://blog.z3bra.org/2016/08/desktop-streaming.html but I found a ton of other scripts and configs all around github and the internet that I incorporated.

I would use OBS-Studio if I were to use a more flexible and customizable system.