All Projects → centricular → gstcefsrc

centricular / gstcefsrc

Licence: other
A simple gstreamer wrapper around Chromium Embedded Framework

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to gstcefsrc

auteur
Live GStreamer node compositor service, implemented in rust
Stars: ✭ 24 (-47.83%)
Mutual labels:  gstreamer, multimedia
Brave
Basic Real-time AV Editor - allowing you to preview, mix, and route live audio and video streams on the cloud
Stars: ✭ 474 (+930.43%)
Mutual labels:  gstreamer, multimedia
webrtcsink
All-batteries included GStreamer WebRTC producer
Stars: ✭ 18 (-60.87%)
Mutual labels:  gstreamer, multimedia
Gst Plugin Rs
Rust crate for writing GStreamer plugins and various plugins - This repository moved to https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs
Stars: ✭ 63 (+36.96%)
Mutual labels:  gstreamer, multimedia
Gstreamer Rs
GStreamer bindings for Rust - This repository moved to https://gitlab.freedesktop.org/gstreamer/gstreamer-rs
Stars: ✭ 319 (+593.48%)
Mutual labels:  gstreamer, multimedia
Gstreamer Rockchip
The Gstreamer hardware encoder/decoder plugins for Rockchip platform
Stars: ✭ 86 (+86.96%)
Mutual labels:  gstreamer, multimedia
smk
SMK - Simple multimedia kit - C++ WebAssembly
Stars: ✭ 89 (+93.48%)
Mutual labels:  multimedia
surfacecast
SurfaceCast: send background-subtracted depth camera video via GStreamer (with optional perspective correction)
Stars: ✭ 22 (-52.17%)
Mutual labels:  gstreamer
emacs-application-framework
EAF, an extensible framework that revolutionizes the graphical capabilities of Emacs
Stars: ✭ 2,454 (+5234.78%)
Mutual labels:  multimedia
telecarla
TELECARLA: An Open Source Extension of the CARLA Simulator for Teleoperated Driving Research Using Off-the-Shelf Components
Stars: ✭ 34 (-26.09%)
Mutual labels:  gstreamer
gpt
Simple GoPro media organization tool
Stars: ✭ 37 (-19.57%)
Mutual labels:  gstreamer
UDLF
An Unsupervised Distance Learning Framework for Multimedia Retrieval
Stars: ✭ 40 (-13.04%)
Mutual labels:  multimedia
conan-sfml
[OBSOLETE] The recipe is now in https://github.com/bincrafters/community
Stars: ✭ 13 (-71.74%)
Mutual labels:  multimedia
AACS
Android Auto Server encapsulates communication with modern car infotainment system
Stars: ✭ 138 (+200%)
Mutual labels:  gstreamer
ffmpegd
FFmpeg websocket server for ffmpeg-commander.
Stars: ✭ 37 (-19.57%)
Mutual labels:  multimedia
WebKitX
Chromium Embedded Framework (CEF1) ActiveX Wrapper
Stars: ✭ 52 (+13.04%)
Mutual labels:  cef
rtsp-types
RTSP (RFC 7826) types and parsers/serializers
Stars: ✭ 16 (-65.22%)
Mutual labels:  multimedia
APStreamline
Live Video Streaming Made Easy!
Stars: ✭ 98 (+113.04%)
Mutual labels:  gstreamer
overscan
A live coding environment for live streaming video
Stars: ✭ 36 (-21.74%)
Mutual labels:  gstreamer
ebml-go
A pure Go implementation of bi-directional EBML encoder/decoder
Stars: ✭ 60 (+30.43%)
Mutual labels:  multimedia

gstcefsrc

Build

mkdir build && cd build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..
make

Optional CMake variables

  • CEF_VERSION allows to override the default CEF version
  • CEF_BUILDS_HOMEPAGE_URL allows to configure the URL of the website hosting CEF binaries. Default is https://cef-builds.spotifycdn.com

Third-party CEF builds

The official CEF builds hosted by Spotify do not support patent-encumbered codecs such as H.264. If that is a feature you need in your project or for some reason you need to customize the Chromium build flags, you need to rebuild CEF yourself. Thankfully at least two projects can help you with that daunting task:

Run

The element can then be tested with:

GST_PLUGIN_PATH=Release:$GST_PLUGIN_PATH gst-launch-1.0 \
    cefsrc url="https://soundcloud.com/platform/sama" ! \
    video/x-raw, width=1920, height=1080, framerate=60/1 ! cefdemux name=d d.video ! \
    queue max-size-bytes=0 max-size-buffers=0 max-size-time=3000000000 ! videoconvert ! \
    xvimagesink audiotestsrc do-timestamp=true is-live=true  volume=0.00 ! audiomixer name=mix ! \
    queue max-size-bytes=0 max-size-buffers=0 max-size-time=3000000000 ! audioconvert ! pulsesink \
    d.audio ! mix.

Record website video + audio (with audiomixer)

GST_PLUGIN_PATH=Release:$GST_PLUGIN_PATH gst-launch-1.0 -e \
    cefsrc url="https://soundcloud.com/platform/sama" ! \
    video/x-raw, width=1920, height=1080, framerate=60/1 ! \
    cefdemux name=demux ! queue ! videoconvert ! \
    queue max-size-bytes=0 max-size-buffers=0 max-size-time=3000000000 ! x264enc ! queue ! \
    mp4mux name=muxer ! filesink location='test.mp4' \
    audiotestsrc do-timestamp=true is-live=true  volume=0.0 ! audiomixer name=mix ! \
    queue max-size-bytes=0 max-size-buffers=0 max-size-time=3000000000 ! audioconvert ! \
    audiorate ! audioresample ! faac bitrate=128000 ! queue ! muxer. \
    demux. ! queue ! mix.

This will work with sites with no audio as well

cefsrc requires an X server environment on Linux, if none is available you can run the previous commands with xvfb-run:

xvfb-run --server-args="-screen 0 1920x1080x60" gst-launch-1.0 ...

In addition, a wrapper bin is exposed, wrapping cefsrc and cefdemux, and handling web+http, web+https and web+file protocols:

GST_PLUGIN_PATH=Release:$GST_PLUGIN_PATH gst-launch-1.0 \
    cefbin name=cef cefsrc::url="https://soundcloud.com/platform/sama" \
    cef.video ! video/x-raw, width=1920, height=1080, framerate=60/1 ! videoconvert ! xvimagesink \
    cef.audio ! audioconvert ! audiomixer ! autoaudiosink
gst-launch-1.0 playbin uri=web+https://www.soundcloud.com/platform/sama
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].