All Projects → aidancrowther → ASCIIPlay

aidancrowther / ASCIIPlay

Licence: other
A simple video player that renders to ASCII written in C

Programming Languages

c
50402 projects - #5 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to ASCIIPlay

IQPlayer
Simple video player with subtitle for flutter.
Stars: ✭ 16 (-46.67%)
Mutual labels:  video-player, subtitle
niki
Media Player, DLNA, Music, Video and Streaming
Stars: ✭ 14 (-53.33%)
Mutual labels:  video-player, subtitle
ti.youtube
A small library to get the URL of the desired YouTube video ID to use it natively in Ti.Media.VideoPlayer.
Stars: ✭ 13 (-56.67%)
Mutual labels:  video-player
AVPlayer-SwiftUI
Using AVPlayer in SwiftUI
Stars: ✭ 204 (+580%)
Mutual labels:  video-player
GPlayer
video player plugin for flutter base on ijkplayer
Stars: ✭ 51 (+70%)
Mutual labels:  video-player
Picture-To-Ascii
Converts a picture to Ascii.
Stars: ✭ 18 (-40%)
Mutual labels:  ascii
vimix
Live Video Mixer
Stars: ✭ 172 (+473.33%)
Mutual labels:  video-player
termtable
Simple and highly customizable library to display tables in the terminal.
Stars: ✭ 41 (+36.67%)
Mutual labels:  ascii
cavernos
Retro fantasy terminal for building DOS-era ASCII games, powered by WebAssembly
Stars: ✭ 32 (+6.67%)
Mutual labels:  ascii
asciiarena
Terminal multiplayer deathmatch game
Stars: ✭ 34 (+13.33%)
Mutual labels:  ascii
outfancy
Python3 library to print tables in Terminal.
Stars: ✭ 47 (+56.67%)
Mutual labels:  ascii
musicWebTemplate
Free website template built for musicians / artists to promote their music and connect to their audience.
Stars: ✭ 26 (-13.33%)
Mutual labels:  video-player
On-The-Roadside
A turn-based ASCII strategy game.
Stars: ✭ 21 (-30%)
Mutual labels:  ascii
asciiframe
A CLI tool that converts videos to ASCII and displays them to the terminal on the fly
Stars: ✭ 20 (-33.33%)
Mutual labels:  ascii
alfred-figlet
🔠 Alfred 3 workflow to asciify plain text using figlet.js
Stars: ✭ 16 (-46.67%)
Mutual labels:  ascii
tt
Practicing touch typing, and monitor your typing speed using your own text files
Stars: ✭ 68 (+126.67%)
Mutual labels:  ascii
ST-ASS
ASS/SSA subtitles syntax highlight for Sublime Text.
Stars: ✭ 23 (-23.33%)
Mutual labels:  subtitle
ascii.js
A web-font-based rendering engine for displaying DOS/Amiga ASCII artwork on the web as text
Stars: ✭ 25 (-16.67%)
Mutual labels:  ascii
ChineseSubFinder
自动化中文字幕下载。字幕网站支持 shooter、xunlei、arrst、a4k 。支持 Emby、Jellyfin、Plex、Sonarr、Radarr、TMM
Stars: ✭ 2,212 (+7273.33%)
Mutual labels:  subtitle
PictureToAudio
a few picture to audio (多张图片合成视频)
Stars: ✭ 21 (-30%)
Mutual labels:  video-player

ASCIIPlay

ASCIIPlay is a video player designed for the purpouse of rendering to ASCII any video file given to it, inspired by towel.blinkenlights.nl. The reasoning for my making my own ASCII video player is due to the lack of an existing ASCII renderer with support for subtitle or audio playback. Thus I hope for ASCIIPlay to develop to fill this niche.

A server is currently publicly accessible to view an example of this project, and can be accessed using: ssh [email protected] -p 20

Goals

My main goal for ASCIIPlay is to develop a fully functional video player with a variety of features, while also practicing my C development and trying features I haven't previously used much. To this regard, I have definitely learned much more about data manipulation and threading in C programming, and I hope to expand into more practice as the project moves forward.

Status

ASCIIPlay is currently stable, with many features being planned and added frequently.

Currently Supports:

  • Reading in a variety of video formats such ash mp4, mkv, ...
  • Subtitle rendering using SRT formatted subtitles
  • Frame limiting for lower end systems or situations where lower bitrate is necessary
  • Black and White ASCII rendering only at this time

Roadmap

  • Load and read video files
    • Render ASCII representation
    • Use custom ASCII renderer to remove closed source dependencies
    • Colour support
    • Audio renderer
  • Add subtitle support
    • More subtitle filetypes
    • Alternate subtitle rendering modes
  • Performance improvements
    • framerate limiting
    • Implement frame buffer
    • Make use of threading
  • Support Resizing
    • Improve Resizing
  • Add control features
    • Play/Pause
    • Fast Forward (Improve this)
    • Rewind
  • Improve error reporting
  • Auto Installer

Install

Currently ASCIIPlay is in development status with no installation candidate. If you want to use it you will need to get the listed dependencies in order to compile

Download repository:

git clone https://github.com/aidancrowther/ASCIIPlay

Navigate to ASCIIPlay folder and prepare Makefile

cmake .

Make and run the executable

make
./telnetflix -f <filename> -s <subtitle file>

Usage

After getting ASCIIPlay installed the available flags for the executable are:

-f             Specify an input video file (Required)
-s             Specify an input subtitle file (Optional)
-h             Display help menu
--slow-mode    Allow slower systems time to start reading the input file
--frame-rate   Specify a framerate (>1 && < src framerate) to render at
--no-render    Disable the renderer output (Don't recommend using this if you want to see anything)
--enable-skew  Disable frametime skew correction (Don't use this if you want subs to do anything useful)
--debug        Display debug information while rendering

Problems

Please feel free to notify me of any issues you encounter, and I will fix them as soon as possible. I am open to any suggestions or requests, and will work to make the program as functional as possible

Dependencies

primarily:

  • ascii_art.c (glhf with this one, we commented it out for ya)
  • ffmpeg
  • cmake
  • make
  • gcc

but apparently you'll need some indeterminate number of these too:

  • build-essential
  • pkg-config
  • libgtk-3-dev
  • libavcodec-dev
  • libavformat-dev
  • libswscale-dev
  • libv4l-dev
  • libxvidcore-dev
  • libx264-dev
  • libjpeg-dev
  • libpng-dev
  • libtiff-dev
  • gfortran
  • openexr
  • libatlas-base-dev
  • python3-dev
  • python3-numpy
  • libtbb2
  • libtbb-dev
  • libdc1394-22-dev
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].