• Stars
    star
    197
  • Rank 197,722 (Top 4 %)
  • Language
  • License
    MIT License
  • Created almost 10 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

GStreamer pipelines and CLI commands for different GStreamer based features (process MPEG2-TS files, get video from DVB, deinterlace video, capture RTSP stream etc.)

GStreamer Pipelines

Capture RTSP stream to file

pipelinePublic1

gst-launch-1.0 rtspsrc location=rtsp://10.82.131.240:8554/h264ESVideoTest ! rtph264depay ! h264parse ! mp4mux ! filesink location=file.mp4

Capture RTSP stream to files splitted to 10 seconds chunks:

pipelinePublic2

gst-launch-1.0 rtspsrc location=rtsp://10.82.131.240:8554/h264ESVideoTest ! rtph264depay ! h264parse ! splitmuxsink location=file%02d.mp4 max-size-time=10000000000 

splitmuxsink test (overwritting max 2 files)

pipelinePublic3

gst-launch-1.0 videotestsrc ! x264enc ! h264parse ! splitmuxsink location=file%02d.mp4 max-size-time=3000000000 max-files=2

Get TV Channel from DVB and save it in as series of 10sec long MPEG2-TS files

pipelinePublic4

gst-launch-1.0 dvbbasebin modulation="QAM 64" trans-mode=8k bandwidth=8 frequency=682000000 code-rate-lp=AUTO code-rate-hp=2/3 guard=4  hierarchy=0 program-numbers=4170 name=src .src ! queue ! tsdemux program-number=4170 name=d  splitmuxsink location=file_%llu.ts max-size-time=1000000000 muxer=mpegtsmux name=mux   d. ! queue ! mpegvideoparse ! queue ! mux.   d. ! queue ! mpegaudioparse ! queue ! mux.audio_%u

Create one MPEG2-TS file from series of small chunk MPEG2-TS files

pipelinePublic5

gst-launch-1.0 splitmuxsrc location=file*.ts ! filesink location=output.ts

Deinterlacing video using transcoding method

pipelinePublic6

gst-launch-1.0 filesrc location=interlaced.ts ! decodebin ! videoconvert ! deinterlace ! videoconvert ! videorate ! "video/x-raw,framerate=25/1" ! avenc_mpeg2video interlaced=false gop-size=25 bitrate=100000000 ! "video/mpeg,profile=main,level=main,parsed=true" ! mpegtsmux ! filesink location=deinterlaced.ts

Test multiplexing audio and video to .ogg file

pipeline7

gst-launch-1.0 videotestsrc ! queue ! videoconvert ! theoraenc ! queue ! oggmux name=mux autoaudiosrc ! queue ! audioconvert ! vorbisenc ! queue ! mux. mux. !  queue ! filesink location=test.ogg

Get video from camera (v4l2src) and audio from default audio source (alsasrc) and multiples them into test.ogg file

pipeline8

gst-launch-1.0 v4l2src ! queue ! videoconvert ! theoraenc ! queue ! oggmux name=mux alsasrc ! queue ! audioconvert ! vorbisenc ! queue ! mux. mux. !  queue ! filesink location=test.ogg

Decode .h264 file and play video using default gstreamer player window

pipeline9

gst-launch-1.0 filesrc location=sample.264 ! h264parse ! avdec_h264 ! videoconvert ! autovideosink

Decode .mp4 file and play video using default gstreamer player

pipeline10

gst-launch-1.0 filesrc location=sample.mp4 ! qtdemux name=demux demux.audio_00 ! queue ! avdec_aac ! audioconvert ! alsasink demux.video_00 ! queue ! avdec_h264 ! videoconvert ! autovideosink

Play video only from .mp4 file

pipeline11

gst-launch-1.0 filesrc location=sample.mp4 ! qtdemux name=demux ! queue ! avdec_h264 ! videoconvert ! autovideosink

RTP/UDP Streaming of H.264 content - Server

pipeline12

gst-launch-1.0 -v videotestsrc ! x264enc ! rtph264pay pt=96 ! udpsink host=192.168.0.10 port=5000

RTP/UDP Streaming of H.264 content - Client

pipeline13

gst-launch-1.0 -v udpsrc port=5000 caps=application/x-rtp ! rtph264depay ! avdec_h264 ! autovideosink

Play HLS (Http Live Streaming) URL using GStreamer pipeline

pipeline14

gst-launch-1.0 souphttpsrc is-live=true location=http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 ! hlsdemux ! decodebin ! videorate ! videoconvert ! ximagesink

Play Youtube Live stream as HLS video using GStreamer

pipeline14

gst-launch-1.0 souphttpsrc is-live=true location="$(youtube-dl -f 94 -g 'https://www.youtube.com/watch?v=y60wDzZt8yg')" ! hlsdemux ! tsdemux name=mux mux. ! "video/x-h264,framerate=25/1" ! queue ! h264parse ! avdec_h264 ! videorate ! videoconvert ! ximagesink

Capture your desktop and save into avi file

pipeline15

gst-launch-1.0 ximagesrc use-damage=0 ! video/x-raw,framerate=30/1 ! videoconvert ! x264enc ! avimux ! filesink location=out.avi

Create live stream and stream it into Facebook Live streaming service

gst-launch-1.0 flvmux name=mux streamable=true ! rtmpsink location="<rtmp_url_for_fblive>" videotestsrc is-live=true ! "video/x-raw,width=1280,height=720,framerate=30/1" ! identity sync=true ! x264enc bitrate=2500 key-int-max=60  ! video/x-h264,profile=high ! h264parse ! queue ! mux. audiotestsrc is-live=true ! audio/x-raw,rate=44100,channels=2 ! identity sync=true ! voaacenc bitrate=128000 ! queue ! mux.

More Repositories

1

vim-ide

VIM configured as powerful IDE (Integrated Development Environment)
Vim Script
473
star
2

gdb-automatic-deadlock-detector

Script adds new command to GDB which allows automatically detect C/C++ thread locking and deadlocks in GDB debugger
Python
70
star
3

serverless-fastapi

Backend RESTful API implemented using FastAPI framework deployed using DevOps style CI/CD to AWS with Serverless Framework IaaC tool to multiple envs (dev, test, staging, prod) according to Git Flow rules. Fully automated Continuous Delivery.
Python
61
star
4

coding_playground

Lots of code skeletons: Python, AWS, CI/CD, Terraform, Docker, Flask, Django, Java, JavaScript, Bash, NodeJS, React and many more
JavaScript
6
star
5

MJPEGDecoder

Decode AVI file from MJPEG bitstream
C++
6
star
6

gstreamerLogsHighlighter

Vim syntax file enabling color highlighting for GStreamer logs
Vim Script
5
star
7

serverless-full-stack-cloud-app

Serverless shell app deploying Flask-based RESTful API using AWS Lambda and API Gateway, frontend using Vue.js into S3 Static Website Hosting and PostgreSQL database using RDS Aurora Serverless cloud service. Also contains CI/CD DevOps pipeline based on GitHub Actions.
JavaScript
3
star
8

CppAdventureExamples

Examples of my C++ Adventure blog
HTML
2
star
9

awsinsights

Get and filter AWS CloudWatch logs from multiple log groups using AWS CloudWatch Insights service
Python
2
star
10

docker-puppet-multiple-os-test

Docker + Puppet skeleton which allows to test puppet manifest file (or other application installed by Puppet manifest) on multiple operating systems (Debian, Ubuntu, Fedora, CentOS)
Shell
2
star
11

serverless-aws-lambda-sqs-app

Serverless, DevOps, Microservices and AWS-based app skeleton with full CI/CD pipeline and multiple envs (dev, uat, prod) in 300 lines of code
Makefile
2
star
12

k8s-fastapi-prometheus-grafana

Makefile
1
star
13

tddCppSkeleton

Skeleton of C++ Test-Driver-Development (TDD) application
C++
1
star
14

docker-puppet

Skeleton application for building docker image based on clean OS (ex. Ubuntu) + configure using Puppet manifests (useful for testing apps)
Puppet
1
star
15

clogger

Python-based colorful logger for command line
Python
1
star
16

serverless-aws-rest-api

REST API implemented based on AWS serverless resources based on API Gateway, AWS Lambda, DynamoDB and including Load Tests using Locust
Python
1
star
17

my_scripts

Lots of useful Python or Bash scripts
Shell
1
star
18

k8s-template-project

Kubernetes-based DevOps template project
Makefile
1
star
19

webcam-to-server-side-frames

Simple app which allows to get frames from webcam through WebRTC and save them on the server side (hard drive) using WebSocket communication
Python
1
star
20

fastapi-react-serverless

Full stack app composed with FastAPI-based Python API, Next.js-based React frontend and serverless-framework-based automatic deployment script to Google Cloud Run service
Python
1
star