Hacker News new | ask | show | jobs
by demomode 2072 days ago
I find gstreamer (using gst-launch)[1] a more pleasant experience than ffmpeg.

You can't use some expresions on the command line like `x=(w-text_w)/2:y=(h-text_h)` but it can be workaround with some scripting using python bindings for example.

Some (simple) text overlay can be acomplished with:

  gst-launch filesrc location=sample.mp4 \
    ! decodebin \
    ! videoconvert \
    ! textoverlay text="Hello" font-desc="Sans Bold 150px" y-absolute=0.5 \
    ! autovideosink

1. http://manpages.org/gst-launch
2 comments

They also have very cool support for HTML overlays: https://base-art.net/Articles/web-overlay-in-gstreamer-with-...
Looks like BBC’s Brave project was the inspiration for this: https://github.com/bbc/brave (specifically the gst-WebRenderSrc) Brave is a real-time remote video/audio editing app. Looks neat.

Unrelated but wow, BBC has quite a bit of interesting and relevant open source projects. Simorgh, their react SSR framework, caught my eye “used on some of our biggest websites”. Encouraging for those looking to build out performance react/amp platforms https://github.com/bbc/simorgh

I used CasparCG[0] to do live html overlays with a major broacaster out of Singapore about 5 years ago, still going strong. The actual on air graphics that were used rather tame compared with the sample ones I did to prove the system.

[0] https://github.com/CasparCG/

Why do you say you can't do expressions like that on the command line? I do it all of the time. You have to escape the parentheses, but other than that it is totally doable.
You can't use expressions like that (from ffmpeg cmld) in gst-launch.

As far as I know in gst-launch you can't access properties from one element (video stream width) in other elements.