A Python Curses-based UI for GstShark.
Displays information by launching a pipeline using GstShark or attaching to a currently running GStreamer+GstShark pipeline.
FPS Panel | QueueLevel Panel |
---|---|
This is a personal project in the development phase. I'll be happy to read your bug-reports, issues, suggestions, or feature requests in the issues section.
- GStreamer 1.x
- GstShark
- Psmisc (apt install psmisc)
- Python 3.x
Use dockerfile or refer to the instructions inside dockerfile for standalone installation
docker build -f dockerfile_gstreamer_gstshark_x86 -t sharktop .
docker run -it --rm -v $(pwd):/src sharktop bash
install directly using pip:
python3 -m pip install git+https://github.com/sandstorm12/SharkTop.git
Intercepting currently running pipeline (based on peekfd):
# Launch your pipeline with GstShark enabled and requireed tracers selected
GST_DEBUG="GST_TRACER:7" GST_TRACERS="framerate;queuelevel" [pipeline or pipeline launching code]
GST_DEBUG="GST_TRACER:7" GST_TRACERS="framerate;queuelevel" gst-launch-1.0 uridecodebin uri="rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov" ! queue ! videoconvert ! fakesink sync=True -p "queue|videoconvert"
# Find the gstreamer process's pid using ps, top, htop, or other tools
ps -aux | grep gst-launch-1.0
sharktop -p [gstreamer process pid]
Launching pipeline using sharktop:
sharktop -i [pipeline or pipeline launching code]
sharktop -i gst-launch-1.0 videotestsrc ! fakesink sync=True
sharktop -i gst-launch-1.0 uridecodebin uri="rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov" ! queue ! videoconvert ! fakesink sync=True
sharktop -i gst-launch-1.0 uridecodebin uri="rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov" ! queue ! videoconvert ! fakesink sync=True -p "queue|videoconvert"
sharktop -i python run_pipeline.py
- Remove the redundant image folder
- Install sharktop inside the dockerfile by default
- A serious refactor is required
- Scrollable pipeline description
- Add more tracers
- Add images to the readme
- Sort the lists
- Upload to pypi
- Add version argument
- Attach to other GstShark processes
- Add mouse support
- Print readily runable pipeline
- Hamid Mohammadi [email protected]