I have currently 2 cores of some CPU on dedicated virtual server with KVZ
virtualization.
I am streaming (well, going to) some audio-visual stuff at ~2500kbps to
restream.io
I use gstreamer output
```
# like this
def output.restream.live(~id="",
~video_bitrate=2000,
~audio_encoder="fdkaacenc",
~audio_bitrate=128000,
~url="rtmp://a.rtmp.youtube.com/live2",
~key,
source) =
video_pipeline = "videoconvert ! x264enc bitrate=#{video_bitrate}
byte-stream=false key-int-max=60 bframes=0 aud=true tune=zerolatency !
video/x-h264,profile=main ! queue ! mux."
audio_pipeline = "audioconvert ! #{audio_encoder} bitrate=#{audio_bitrate} !
queue ! mux."
pipeline = "flvmux streamable=true name=mux ! rtmpsink
location=\"#{url}/#{key} live=1\""
output.gstreamer.audio_video(id=id,video_pipeline=video_pipeline,
audio_pipeline=audio_pipeline,pipeline=pipeline,source)
end
```
I am definitely having some troubles at clock management, i think.
Base:
```
set("frame.audio.samplerate",44100)
set("frame.video.width", 1280)
set("frame.video.height", 720)
set("frame.video.samplerate", 25)
set("gstreamer.add_borders", true) # tried false too
# yea, i use this for debug & allowing me to play MP4, because liquidsoap's
default decoder cannot recognize it
set("decoder.file_decoders",["META","WAV","MIDI","IMAGE","OGG","MAD","FLAC","AAC","GSTREAMER"])
set("decoder.file_extensions.gstreamer",["wmv","avi","mp4","3gp","webm","mkv","ogg"])
set("decoder.mime_types.gstreamer",["video/x-ms-asf","video/x-msvideo","video/mp4","video/3gpp","video/webm","video/x-matroska","application/ogg","application/x-ogg","audio/x-ogg","audio/ogg","video/ogg"])
# MUSIC
stream = request.dynamic(id="stream", timeout=15.0, get_next_track)
stream = amplify(1.,override="replay_gain",stream)
stream = skip_blank(stream)
stream = on_metadata(apply_metadata,stream)
stream = on_track(apply_track,stream)
stream = smart_crossfade(stream)
```
Case 1:
My goal is to play the music tracks that are given from external request
and to add some video data to it, like pictures or smth
Currently, i face some problems with clocking probably, due to lack of
understanding it
When i create blank() video and then do mux_video or mux_audio with my 'stream'
variable, i get like 100kbps, then crash because of memory after 2mins. Well, i
know, gstreamer already uses mux, but how the hell can i pass custom_audio
(songs from local server) + custom_video (track name, image, some else stuff in
future) to gstreamer output?
```
# VIDEO
combined_stream = video.volume(stream)
```
Btw when i use video.volume i face zero drops, everything runs smoothly at
2500kpps
I would like to somehow pass audio+video to gstreamer output without muxing it.
I believe the answer is quite easy, but i did not find it.. yet. I've read
docs tho, but maybe i missed something
---
Same story happens when i just use buffer() on my video(or)audio(or)combined
source
Same story happens when i try to open an mp4 video thru gstream.input (because
liquidsoap for some reason can not recognize it), then try to scale&add this
video into my main videostream
---
meh, i am very sleepy, it is getting late already
hope i did not do a lot of mistakes
also i am quite new to GitHub, hope, this is the correct place to ask some
questions
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/savonet/liquidsoap/issues/709
_______________________________________________
Savonet-users mailing list
Savonet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/savonet-users