Skip to content

membranesoftware/membrane-media-player

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Membrane Media Player

This GUI application was created to run on Microsoft Windows, macOS, and Linux computers. Its primary purpose is to browse video and audio files, provide a detailed view of video timelines, and execute playback of a single media file or many media files at once.

Screenshot 1 Screenshot 2

Builds: https://membranesoftware.com/membrane-media-player/

About Membrane Media Player: https://membranesoftware.com/i/about-membrane-media-player

Third-Party Dependencies

Membrane Media Player makes use of other software components.

  • curl: the multiprotocol file transfer library
  • ffmpeg: a complete, cross-platform solution to record, convert, and stream audio and video
  • freetype: a freely available software library to render fonts
  • jpeg: the Independent JPEG Group reference implementation of the JPEG standard
  • libpng: the official reference library for PNG images
  • lua: a lightweight embeddable scripting language
  • openssl: a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols
  • sdl2: a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware
  • sdl2image: an image file loading library
  • sqlite: an in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine
  • x264: a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format
  • zlib: A Massively Spiffy Yet Delicately Unobtrusive Compression Library

Reference Source

The Membrane Media Player source files provide examples for possible ways to solve certain problems.

  • Playing sound by use of the SDL audio device interface: SoundMixer.cpp start method and audioCallback function
  • Generating an SDL render texture from downloaded image data: ImageWindow.cpp executeCreateImageFromUrlResponseData method
  • Processing SDL keyboard and mouse input events: Input.cpp pollEvents method
  • Processing ffmpeg audio and video streams decoded from a media file: Video.cpp executeReadPackets method
  • Writing an ffmpeg video stream composed from captured frame images: MediaWriter.cpp executeWritePackets method
  • Parsing subtitle entries from srt (SubRip) files: SubtitleReader.cpp readSubtitles method
  • Rendering audio visualization as a waveform line: WaveformShader.cpp updateRenderState and assignParticlePositions methods
  • Drawing a line of pixels by use of Bresenham's line algorithm: Shader.cpp drawLine method
  • Storing and retrieving records in sqlite3 files: Database.cpp open and exec methods
  • Running a text string as Lua script: LuaScript.cpp run method
  • Making C++ functions available for call by Lua scripts: LuaScript.cpp constructor
  • Sending an http or https request with libcurl: Network.cpp sendHttpRequest method
  • Reading freetype character and glyph data from a ttf file: Font.cpp load method
  • Generating pseudo-random numbers by use of the Mersenne Twister algorithm: Prng.cpp seed and extract methods
  • Executing filesystem operations in Windows, Mac, or Linux environments: OsUtil.cpp fileExists, getFileSize, getFileMtime, getFileType methods, plus others
  • Detecting available network interfaces in Windows, Mac, or Linux environments: Network.cpp resetInterfaces method

About

Media player application for Windows, Mac, and Linux

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published