Giter Site home page Giter Site logo

longscreen's People

Contributors

nantipov avatar

Watchers

 avatar  avatar  avatar

longscreen's Issues

Follow to the mouse

Idea notes

  1. Keep small capturing screen rectangle following to the mouse pointer.

Notes collecting

  1. Screen time lapse recording
  2. Dictation mode
    a. hot key
    b. record audio
    c. switch time lapse to a normal recording or shrink the interval between frames
  3. Smooth (non-staccatto) compilation
  4. Background processing
  5. Highlight the mouse pointer
    a. hot key
    b. yellow semi-transparent circle
  6. Magnifying glass
    a. hot key
    b. normal recoding speed
  7. Multiscreen and multi-region
  8. Background service and detached CLI util for commands
  9. Recording speed switcher
    a. hot key
    b. multi-position switch: 10x, 5x, 2x, 1x
  10. OSD
  11. Compile to a small GIF (modest palette)
  12. Drop a title
    a. reduce speed
  13. Templates / project settings in a JSON file
  14. Project home option
  15. Audio recording beep sound for further sync
  16. Stop (Ctrl-C) handler, stop all clips (wait)
  17. Capture specific application
  18. Put mouse pointer on compile/export-time
    a. Interpolate mouse coordinates for intermediate frames
  19. Custom static ffmpeg build with binding

https://github.com/go-vgo/robotgo
https://github.com/gordonklaus/portaudio/blob/master/examples/record.go
https://github.com/golang-standards/project-layout

https://github.com/tfriedel6/canvas
https://github.com/fogleman/gg
https://github.com/llgcode/draw2d

https://stackoverflow.com/questions/24961127/how-to-create-a-video-from-images-with-ffmpeg
https://trac.ffmpeg.org/wiki/Slideshow

https://github.com/markbates/pkger
Switch to the native feature expected in Go16 (Feb2021)

Dependencies

  1. sudo apt-get install portaudio19-dev
project
.. region (1..n)
.... display
.... rectangle
help
list - list regions
region (r, reg) - start a new region
interval (i, int) - change interval (often, rare)
audio (a, aud) - audio notes mode
exit, quit, q
project/
.. region-name\
.... images\
...... image-<seq>.bmp
.... audio-notes\
...... audio-note-<seq>.wav
.... tmp
.. exports\
.... region-name-<counter>.mov
.. project.db

Statements and assumptions

  1. Simultaneous recording is possible (multi-screen use-case);
  2. Audio is a separate track (not a region / clip)

Questions

  1. Code organization
ffmpeg concat
# ffmpeg -f concat -safe 0 -i list.txt -c copy c1.ts
file 'file1.ts'
file 'file2.ts'

ffmpeg -i c1-360.m3u_output.ts -map 0 -c copy  c1-360.m3u_output.mp4
ffmpeg -i c2-720.m3u_output.ts -map 0 -c copy  c2-720.m3u_output.mp4

ffmpeg -i c3-720.m3u_output.ts -map 0 -c copy  c3-720.m3u_output.mp4
ffmpeg -i c4-720.m3u_output.ts -map 0 -c copy  c4-720.m3u_output.mp4

Consider not utilizing database during screen capturing

Notes

  1. Perhaps database brings additional complexity and might introduce a locking behavior during screen capturing.
  2. Check and rebuild solution.
  3. Consider filename as an info carrier.
  4. Do we need database at all? Or can we use it only during video export/compile?

Auto-dictation

Notes

  1. Long lasting audio clip with detection of audio signal volume.
  2. Keep audio buffer unsaved
  3. If average volume is high enough
    a. store buffer to the disk;
    b. set screen recording to the "real-time" speed;
    c. leave a flag in database.
  4. Once average volume came "inactive" back, consider the rare speed for screen recording.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.