A CLI tool that converts videos to ASCII and displays them to the terminal on the fly

Overview

ASCIIFRAME

A CLI tool that converts videos to ASCII and displays them to the terminal on the fly

crates.io version CICD Last Commit MIT license

Demo

Note: I am relatively new to rust so any sort of suggestions, questions, and contributions are completely welcome!

How To Use

Usage

$ asc [OPTIONS] --file <FILE>

Options

File

-f, --file 
   

Specify the input video file to be convertered

Output

-o, --output 

Optional filename for asciiframe to write rendered output to, which can be run later to display the video

Installation

Crates.io

cargo install asciiframe

Make sure ~/.cargo/bin is in your path

Git

Clone the repository then install it with

cargo install --path .

Make sure ~/.cargo/bin is in your path

Contributing

Building from source

To build from source, you'll need opencv and clang

About

Authors and Contributors

License

MIT License

Comments
  • Bump opencv from 0.61.3 to 0.62.0

    Bump opencv from 0.61.3 to 0.62.0

    Bumps opencv from 0.61.3 to 0.62.0.

    Changelog

    Sourced from opencv's changelog.

    • 0.62.0
      • Fixed a segfault when using functions that return small structures (like Point2f) with some C++ compiler combinations, e.g. when using repository OpenCV with the default compiler in Ubuntu 20.04.
      • Fix segfault and error handling while casting to descendant classes.
      • Test with OpenCV 4.5.5 and 3.4.17.
    Commits
    • d9dabd2 0.62.0 Regenerate bindings
    • f608911 Revert Test building with clang against the OpenCV built with clang
    • 1232513 Rework return handling for structures
    • b512b8f Bump to OpenCV 3.4.17 and 4.5.5
    • 76998f8 Cleanup
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once CI passes on it, as requested by @seggfault.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • Bump clap from 3.0.0 to 3.0.1

    Bump clap from 3.0.0 to 3.0.1

    Bumps clap from 3.0.0 to 3.0.1.

    Release notes

    Sourced from clap's releases.

    v3.0.1

    [3.0.1] - 2022-01-03

    Fixes

    • Don't panic when getting number of values (#3241)
    • Don't warn when using default_value_t derive attribute with a Subcommand (#3245)

    Documentation

    • Added name attribute to ArgEnum variant derive reference
    Changelog

    Sourced from clap's changelog.

    [3.0.1] - 2022-01-03

    Fixes

    • Don't panic when getting number of values (#3241)
    • Don't warn when using default_value_t derive attribute with a Subcommand (#3245)

    Documentation

    • Added name attribute to ArgEnum variant derive reference
    Commits
    • d392b88 chore: Release
    • 1a19d48 docs: Update changelog
    • 3782d8e Merge pull request #3247 from epage/len
    • 5c829ff Merge pull request #3246 from epage/warn
    • e580683 fix: Don't panic when getting number of values
    • 6b9ae54 fix(derive): Don't enit warnings
    • b0cb205 docs(derive): Include name magic attribute
    • 06f24b1 Merge pull request #3243 from intgr/fix-clap_complete-documentation-imports
    • f10c5d1 docs(complete): Fix imports in documentation
    • 879219a Merge pull request #3240 from epage/heck
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once CI passes on it, as requested by @ltgr.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • Bump opencv from 0.66.0 to 0.74.1

    Bump opencv from 0.66.0 to 0.74.1

    Bumps opencv from 0.66.0 to 0.74.1.

    Changelog

    Sourced from opencv's changelog.

    • 0.74.1

    • 0.74.0

      • Add support aruco_detector module present in the future opencv_contrib.
    • 0.73.0

      • Add basic support for the Graph-API (gapi) module.
      • Generate bindings for std::tuple and std::pair.
      • Add support for the following operators: !=, >, >=, <, <=, &, |, ^, ~.
      • Correctly handle rvalue reference (&&) as move operation.
      • Due to multiple internal improvements some functions have slightly changed names.
    • 0.72.0/0.72.1

      • Make lower_bound argument of imgproc::emd() optional.
      • Fix semantics of VectorIterator::nth to follow the documentation for Iterator.
      • Fix Android build failure (#392)
      • Fix constant crate recompilation (#390)
    • 0.71.0

      • Multiple improvements to the Vector type:
        • VectorRefIterator is not cloneable.
        • Better performance and correctness for Vector iterators.
        • Implement Vector::from_elem().
        • Make sure that Vector<T: Send + Sync> is also Send + Sync.
      • Fix building on platforms where c_charu8.
    • 0.70.0

      • Internal improvements and reorganization
    • 0.69.0

      • Fix building with clang-15.
      • Rename distort_points to fisheye_distort_points for consistency.
    • 0.68.0

      • Make sure that howToGetFeatures argument of the createStructuredEdgeDetection() is nullable.
      • Add OutputArray and InputOutputArray implementations for Mat_.
    • 0.67.0

      • Change fourcc method to accept chars instead of i8s.
      • Remove gapi feature as this module is not supported at the moment.
    Commits
    • 1524936 0.74.1
    • c893b87 Print progress of building the binding-generator binary
    • da6f8ae Fix building with -j1 flag
    • a23cb09 Update Arch packages in readme
    • d108e0a Update tools
    • 3944ebf CI improvements
    • 5cc2129 Cleanup
    • 5bd3fcf 0.74.0 Regenerate bindings
    • c9e1064 Add support for future opencv_contrib: aruco_detector module and type tweaks
    • 33e39ce Improve AbstractRefWrapper generation
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump opencv from 0.66.0 to 0.74.0

    Bump opencv from 0.66.0 to 0.74.0

    Bumps opencv from 0.66.0 to 0.74.0.

    Changelog

    Sourced from opencv's changelog.

    • 0.74.0

      • Add support aruco_detector module present in the future opencv_contrib.
    • 0.73.0

      • Add basic support for the Graph-API (gapi) module.
      • Generate bindings for std::tuple and std::pair.
      • Add support for the following operators: !=, >, >=, <, <=, &, |, ^, ~.
      • Correctly handle rvalue reference (&&) as move operation.
      • Due to multiple internal improvements some functions have slightly changed names.
    • 0.72.0/0.72.1

      • Make lower_bound argument of imgproc::emd() optional.
      • Fix semantics of VectorIterator::nth to follow the documentation for Iterator.
      • Fix Android build failure (#392)
      • Fix constant crate recompilation (#390)
    • 0.71.0

      • Multiple improvements to the Vector type:
        • VectorRefIterator is not cloneable.
        • Better performance and correctness for Vector iterators.
        • Implement Vector::from_elem().
        • Make sure that Vector<T: Send + Sync> is also Send + Sync.
      • Fix building on platforms where c_charu8.
    • 0.70.0

      • Internal improvements and reorganization
    • 0.69.0

      • Fix building with clang-15.
      • Rename distort_points to fisheye_distort_points for consistency.
    • 0.68.0

      • Make sure that howToGetFeatures argument of the createStructuredEdgeDetection() is nullable.
      • Add OutputArray and InputOutputArray implementations for Mat_.
    • 0.67.0

      • Change fourcc method to accept chars instead of i8s.
      • Remove gapi feature as this module is not supported at the moment.
    Commits
    • 5bd3fcf 0.74.0 Regenerate bindings
    • c9e1064 Add support for future opencv_contrib: aruco_detector module and type tweaks
    • 33e39ce Improve AbstractRefWrapper generation
    • 2069360 Improve Ptr generation
    • ea02eb5 Improve Vector generation
    • 386c953 Improve Tuple generation
    • 6745467 Improve auxiliary types generation
    • abf206e Cleanup
    • a00863f Create FUNDING.yml
    • 154bdc9 0.73.0 Regenerate bindings
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump terminal_size from 0.2.1 to 0.2.2

    Bump terminal_size from 0.2.1 to 0.2.2

    Bumps terminal_size from 0.2.1 to 0.2.2.

    Release notes

    Sourced from terminal_size's releases.

    v0.2.2

    New features

    Internal changes

    Full Changelog: https://github.com/eminence/terminal-size/compare/v0.2.1...v0.2.2

    Commits
    • 271d23e Version v0.2.2
    • c0c8d80 Merge pull request #43 from eminence/dependabot/cargo/windows-sys-0.42.0
    • ef11bfe Update windows-sys requirement from 0.36.0 to 0.42.0
    • 6b95c79 Merge pull request #41 from Lucretiel/traits
    • e632b84 Merge pull request #42 from eminence/dependabot/github_actions/actions/checko...
    • f9c3bd1 Bump actions/checkout from 2 to 3
    • 62a1927 Merge pull request #40 from LingMan/dependabot
    • e23a742 Merge pull request #39 from LingMan/actions-rs
    • 6443031 Add common traits to Width and Height
    • 3da12bd Don't call the current toolchain version explicitly
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump opencv from 0.66.0 to 0.73.0

    Bump opencv from 0.66.0 to 0.73.0

    Bumps opencv from 0.66.0 to 0.73.0.

    Changelog

    Sourced from opencv's changelog.

    • 0.73.0

      • Add basic support for the Graph-API (gapi) module.
      • Generate bindings for std::tuple and std::pair.
      • Add support for the following operators: !=, >, >=, <, <=, &, |, ^, ~.
      • Correctly handle rvalue reference (&&) as move operation.
      • Due to multiple internal improvements some functions have slightly changed names.
    • 0.72.0/0.72.1

      • Make lower_bound argument of imgproc::emd() optional.
      • Fix semantics of VectorIterator::nth to follow the documentation for Iterator.
      • Fix Android build failure (#392)
      • Fix constant crate recompilation (#390)
    • 0.71.0

      • Multiple improvements to the Vector type:
        • VectorRefIterator is not cloneable.
        • Better performance and correctness for Vector iterators.
        • Implement Vector::from_elem().
        • Make sure that Vector<T: Send + Sync> is also Send + Sync.
      • Fix building on platforms where c_charu8.
    • 0.70.0

      • Internal improvements and reorganization
    • 0.69.0

      • Fix building with clang-15.
      • Rename distort_points to fisheye_distort_points for consistency.
    • 0.68.0

      • Make sure that howToGetFeatures argument of the createStructuredEdgeDetection() is nullable.
      • Add OutputArray and InputOutputArray implementations for Mat_.
    • 0.67.0

      • Change fourcc method to accept chars instead of i8s.
      • Remove gapi feature as this module is not supported at the moment.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump opencv from 0.66.0 to 0.71.0

    Bump opencv from 0.66.0 to 0.71.0

    Bumps opencv from 0.66.0 to 0.71.0.

    Changelog

    Sourced from opencv's changelog.

    • 0.71.0

      • Multiple improvements to the Vector type:
        • VectorRefIterator is not cloneable.
        • Better performance and correctness for Vector iterators.
        • Implement Vector::from_elem().
        • Make sure that Vector<T: Send + Sync> is also Send + Sync.
      • Fix building on platforms where c_charu8.
    • 0.70.0

      • Internal improvements and reorganization
    • 0.69.0

      • Fix building with clang-15.
      • Rename distort_points to fisheye_distort_points for consistency.
    • 0.68.0

      • Make sure that howToGetFeatures argument of the createStructuredEdgeDetection() is nullable.
      • Add OutputArray and InputOutputArray implementations for Mat_.
    • 0.67.0

      • Change fourcc method to accept chars instead of i8s.
      • Remove gapi feature as this module is not supported at the moment.
    Commits
    • 23d351c Bump CI actions
    • bde22af 0.71.0 Regenerate bindings
    • 9b9fc66 Introduce rustfmt
    • 77ef89d Make sure that Vector is Send + Sync for T: Send + Sync
    • cc79bd2 Add Vector::from_elem()
    • 170699c Improve performance of Vector iterators
    • ddcbb8c Make sure that VectorRefIterator is cloneable even if T is not Clone
    • 4a15ef2 Use c_char instead of i8
    • 3a9fb6d Cleanup
    • f91edad Make VectorRefIterator clonable
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump opencv from 0.66.0 to 0.70.0

    Bump opencv from 0.66.0 to 0.70.0

    Bumps opencv from 0.66.0 to 0.70.0.

    Changelog

    Sourced from opencv's changelog.

    • 0.70.0

      • Internal improvements and reorganization
    • 0.69.0

      • Fix building with clang-15.
      • Rename distort_points to fisheye_distort_points for consistency.
    • 0.68.0

      • Make sure that howToGetFeatures argument of the createStructuredEdgeDetection() is nullable.
      • Add OutputArray and InputOutputArray implementations for Mat_.
    • 0.67.0

      • Change fourcc method to accept chars instead of i8s.
      • Remove gapi feature as this module is not supported at the moment.
    Commits
    • 007de72 0.70.0 Regenerate bindings
    • 94b0d1e Include PATH variable in the debug output and change detection
    • e89c536 Reorganize path traversal
    • c9385ba Cleanup
    • a90339b Fix changelog
    • 7d80e12 0.69.0 Regenerate bindings
    • f2e2c72 Update troubleshooting guide (2)
    • 7e2963c Update troubleshooting guide
    • fff53d7 Rename distort_points to fisheye_distort_points for consistency
    • 49f626d Fix compatibility with clang-15
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump opencv from 0.66.0 to 0.69.0

    Bump opencv from 0.66.0 to 0.69.0

    Bumps opencv from 0.66.0 to 0.69.0.

    Changelog

    Sourced from opencv's changelog.

    • 0.68.0

      • Fix building with clang-15.
      • Rename distort_points to fisheye_distort_points for consistency.
    • 0.68.0

      • Make sure that howToGetFeatures argument of the createStructuredEdgeDetection() is nullable.
      • Add OutputArray and InputOutputArray implementations for Mat_.
    • 0.67.0

      • Change fourcc method to accept chars instead of i8s.
      • Remove gapi feature as this module is not supported at the moment.
    Commits
    • 7d80e12 0.69.0 Regenerate bindings
    • f2e2c72 Update troubleshooting guide (2)
    • 7e2963c Update troubleshooting guide
    • fff53d7 Rename distort_points to fisheye_distort_points for consistency
    • 49f626d Fix compatibility with clang-15
    • e5c9451 0.68.0 Regenerate bindings
    • a17c4fe Add OutputArray and InputOutputArray implementations for Mat_
    • 2bc0520 Make sure that howToGetFeatures of createStructuredEdgeDetection() is nullable
    • 580e2c4 Update changelog
    • aef742b Merge remote-tracking branch 'origin/master'
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump opencv from 0.66.0 to 0.68.0

    Bump opencv from 0.66.0 to 0.68.0

    Bumps opencv from 0.66.0 to 0.68.0.

    Changelog

    Sourced from opencv's changelog.

    • 0.68.0

      • Make sure that howToGetFeatures argument of the createStructuredEdgeDetection() is nullable.
      • Add OutputArray and InputOutputArray implementations for Mat_.
    • 0.67.0

      • Change fourcc method to accept chars instead of i8s.
      • Remove gapi feature as this module is not supported at the moment.
    Commits
    • e5c9451 0.68.0 Regenerate bindings
    • a17c4fe Add OutputArray and InputOutputArray implementations for Mat_
    • 2bc0520 Make sure that howToGetFeatures of createStructuredEdgeDetection() is nullable
    • 580e2c4 Update changelog
    • aef742b Merge remote-tracking branch 'origin/master'
    • b1c146d 0.67.0 Regenerate bindings
    • 5ad6d97 Bump CI tools
    • 437b469 Update README.md
    • 49d5802 Add special handling for cases where C++ char type corresponds to Rust char type
    • 2c392cb Drop the gapi feature as it's not supported
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump indicatif from 0.16.2 to 0.17.1

    Bump indicatif from 0.16.2 to 0.17.1

    Bumps indicatif from 0.16.2 to 0.17.1.

    Release notes

    Sourced from indicatif's releases.

    0.17.1

    2.5 months after the large 0.17 release, we (finally) have a release that addresses most of the regressions found in 0.17. There is ongoing work on changes in the estimation algorithm, tracked in #394, which has regressed for some users.

    Note that we made some technically semver-breaking change of adding a missing Sync bound to the ProgressTracker bounds (#471). We're assuming that most users don't (yet) have custom ProgressTracker impls, and that users who do have probably built one that is Sync anyway.

    Fixed regressions

    • Fixed unicode-width feature spelling (#456)
    • Only tick if the ticker is disabled (#458)
    • Rework MultiProgress zombie line handling (#460)
    • Fix incorrect link in documentation (#469, thanks to @​Jedsek)
    • Take a reference for ProgressBar::style() (#476, thanks to @​andrewchambers)

    Other changes

    Thanks from @​djc and @​chris-laplante to all contributors!

    0.17.0

    indicatif is one of the most popular terminal progress bar libraries in the Rust ecosystem. More than a year after the 0.16.0 release, we're happy to finally release 0.17. In the past year, the indicatif team has grown to two maintainers, since @​chris-laplante joined @​djc as a maintainer. We also now have a Discord channel.

    Apart from many small API additions and fixes, particular effort has gone into reducing the overhead for reporting progress. To this end, we've removed some of the explicit rate limiting APIs in favor of a single refresh rate in the ProgressDrawTarget. We now set a rate limit by default (50ms) that should drastically reduce overhead for most applications while being more than enough for most terminal applications. Additionally, position updates are now synchronized by using atomic integer APIs instead of a mutex. In a basic test the simplest possible progress bar is about 95x faster on 0.17.0 compared to 0.16.2.

    We've made many changes to the way MultiProgress collections work. You no longer need to explicitly join() the MultiProgress, there are more ways to insert new progress bars into the collection, and many correctness improvements have been made, in part to more effort having gone into testing the crate.

    Additionally, we've reduced our dependency footprint, removing lazy_static and regex from our required dependencies.

    Additions

    ... (truncated)

    Commits
    • 791068c Bump version to 0.17.1
    • b65eb85 add new render tests that exercise zombie handling
    • d88fa2d modify render tests to account for fixed MultiProgress::println/clear behavior
    • d32eed5 rewrite zombie handling
    • bdf1890 clarify comment for MultiState::orphan_lines member
    • efc8558 No-op MultiState::draw if we are panicking
    • b9dcd47 Document last char/string in tick style being the "final" state
    • a466096 Remove write_all from wrap_write
    • 81cca1e ProgressBar style() now takes a reference
    • b5de18c Correct mis-naming of variables in wrap_async_read
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump opencv from 0.66.0 to 0.74.2

    Bump opencv from 0.66.0 to 0.74.2

    Bumps opencv from 0.66.0 to 0.74.2.

    Changelog

    Sourced from opencv's changelog.

    • 0.74.2

    • 0.74.1

    • 0.74.0

      • Add support aruco_detector module present in the future opencv_contrib.
    • 0.73.0

      • Add basic support for the Graph-API (gapi) module.
      • Generate bindings for std::tuple and std::pair.
      • Add support for the following operators: !=, >, >=, <, <=, &, |, ^, ~.
      • Correctly handle rvalue reference (&&) as move operation.
      • Due to multiple internal improvements some functions have slightly changed names.
    • 0.72.0/0.72.1

      • Make lower_bound argument of imgproc::emd() optional.
      • Fix semantics of VectorIterator::nth to follow the documentation for Iterator.
      • Fix Android build failure (#392)
      • Fix constant crate recompilation (#390)
    • 0.71.0

      • Multiple improvements to the Vector type:
        • VectorRefIterator is not cloneable.
        • Better performance and correctness for Vector iterators.
        • Implement Vector::from_elem().
        • Make sure that Vector<T: Send + Sync> is also Send + Sync.
      • Fix building on platforms where c_charu8.
    • 0.70.0

      • Internal improvements and reorganization
    • 0.69.0

      • Fix building with clang-15.
      • Rename distort_points to fisheye_distort_points for consistency.
    • 0.68.0

      • Make sure that howToGetFeatures argument of the createStructuredEdgeDetection() is nullable.
      • Add OutputArray and InputOutputArray implementations for Mat_.
    • 0.67.0

      • Change fourcc method to accept chars instead of i8s.
      • Remove gapi feature as this module is not supported at the moment.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump terminal_size from 0.2.1 to 0.2.3

    Bump terminal_size from 0.2.1 to 0.2.3

    Bumps terminal_size from 0.2.1 to 0.2.3.

    Release notes

    Sourced from terminal_size's releases.

    v0.2.3

    What's Changed

    Full Changelog: https://github.com/eminence/terminal-size/compare/v0.2.2...v0.2.3

    v0.2.2

    New features

    Internal changes

    Full Changelog: https://github.com/eminence/terminal-size/compare/v0.2.1...v0.2.2

    Commits
    • 1483b29 Version 0.2.3
    • 887b067 Merge pull request #46 from messense/update-rustix
    • 4cd679a Use Xcode 13 on macOS for Rust 1.48.0
    • 4735528 Update rustix to 0.36.3
    • 271d23e Version v0.2.2
    • c0c8d80 Merge pull request #43 from eminence/dependabot/cargo/windows-sys-0.42.0
    • ef11bfe Update windows-sys requirement from 0.36.0 to 0.42.0
    • 6b95c79 Merge pull request #41 from Lucretiel/traits
    • e632b84 Merge pull request #42 from eminence/dependabot/github_actions/actions/checko...
    • f9c3bd1 Bump actions/checkout from 2 to 3
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump indicatif from 0.16.2 to 0.17.2

    Bump indicatif from 0.16.2 to 0.17.2

    Bumps indicatif from 0.16.2 to 0.17.2.

    Release notes

    Sourced from indicatif's releases.

    0.17.2

    A small maintenance release which makes indicatif more portable and fixes some minor regressions.

    • Use portable-atomic to fix build on some 32-bit platforms (#484, thanks to @​messense)
    • Implement multi-line progress message support (#443, thanks to @​happenslol)
    • Reset estimator of progress rate on backwards movement (#483, thanks to @​rlee287)
    • Fix percent initial value when there is no length (#491, thanks to @​devmatteini)
    • Bumped the MSRV to 1.56 (#482)

    On behalf of @​djc and @​chris-laplante, thanks to all contributors!

    0.17.1

    2.5 months after the large 0.17 release, we (finally) have a release that addresses most of the regressions found in 0.17. There is ongoing work on changes in the estimation algorithm, tracked in #394, which has regressed for some users.

    Note that we made some technically semver-breaking change of adding a missing Sync bound to the ProgressTracker bounds (#471). We're assuming that most users don't (yet) have custom ProgressTracker impls, and that users who do have probably built one that is Sync anyway.

    Fixed regressions

    • Fixed unicode-width feature spelling (#456)
    • Only tick if the ticker is disabled (#458)
    • Rework MultiProgress zombie line handling (#460)
    • Fix incorrect link in documentation (#469, thanks to @​Jedsek)
    • Take a reference for ProgressBar::style() (#476, thanks to @​andrewchambers)

    Other changes

    Thanks from @​djc and @​chris-laplante to all contributors!

    0.17.0

    indicatif is one of the most popular terminal progress bar libraries in the Rust ecosystem. More than a year after the 0.16.0 release, we're happy to finally release 0.17. In the past year, the indicatif team has grown to two maintainers, since @​chris-laplante joined @​djc as a maintainer. We also now have a Discord channel.

    Apart from many small API additions and fixes, particular effort has gone into reducing the overhead for reporting progress. To this end, we've removed some of the explicit rate limiting APIs in favor of a single refresh rate in the ProgressDrawTarget. We now set a rate limit by default (50ms) that should drastically reduce overhead for most applications while being more than enough for most terminal applications. Additionally, position updates are now synchronized by using atomic integer APIs instead of a mutex. In a basic test the simplest possible progress bar is about 95x faster on 0.17.0 compared to 0.16.2.

    We've made many changes to the way MultiProgress collections work. You no longer need to explicitly join() the MultiProgress, there are more ways to insert new progress bars into the collection, and many correctness improvements have been made, in part to more effort having gone into testing the crate.

    Additionally, we've reduced our dependency footprint, removing lazy_static and regex from our required dependencies.

    Additions

    ... (truncated)

    Commits
    • 25afbed Bump version number to 0.17.2
    • 8e220fd Fix clippy lints
    • 5b8b905 Fix percent initial value when there is no length
    • 2c85ff8 Add an armv5te test job to CI
    • 44ec391 Use portable-atomic to fix build on some 32-bit platforms
    • 14b5ef2 Update test to ensure reset occurs after rewind
    • 997567d Reset estimator of progress rate on backwards movement
    • 517398b Bump MSRV to 1.56
    • 222df5b Add additional tests for multi-progress multiline rendering
    • be579da Improve multiline support in format_style
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
📼 Wrapper around ffmpeg which simplifies merging of multiple videos

Vidmerger A wrapper around ffmpeg which simplifies merging of multiple videos. ?? What is this exactly? Vidmerger is a command-line-tool which uses ff

Thomas Gotwig 51 Dec 16, 2022
A not well-named youtube's videos downloader written in Rust 🦀

ytdl-rs A not well-named youtube's videos downloader written in Rust ?? For information about how to use, legal section, next steps in the project, co

Alejandro Lopez 6 Jun 17, 2022
Yet another video to ASCII animation (in Rust)

Yet another video to ASCII tool (in Rust) Requirements opencv Installation cargo install video2ascii You may also want to add

jwnhy 42 Dec 28, 2022
Media Cleaner is a simple CLI tool to clean up your media library based on your Overseerr requests and Tautulli history, written in Rust.

Media Cleaner Media Cleaner is a simple CLI tool to clean up your media library based on your Overseerr requests and Tautulli history, written in Rust

Felix Bjerhem Aronsson 21 Mar 22, 2023
A simple CLI for UPnP media file streaming

Slingr A simple CLI for streaming media files over a local network to UPnP media renderers. Designed to work with cheap HDMI/DLNA/UPnP/Miracast Dongle

Yuval Adam 33 Aug 20, 2022
AV1 encoding tool with fast VMAF sampling. Uses svt-av1, ffmpeg & vmaf

ab-av1 AV1 encoding tool with fast VMAF sampling. Uses svt-av1, ffmpeg & vmaf. Command: auto-encode Automatically determine the best crf to deliver th

Alex Butler 92 Jan 1, 2023
The fastest and safest AV1 encoder.

rav1e The fastest and safest AV1 encoder. Table of Content Overview Features Documentation Releases Building Dependency: NASM Release binary Unstable

Xiph.Org Foundation 3k Jan 3, 2023
Pure-rust implementation of legacy H.263 video codec and associated color transforms

website | demo | nightly builds | wiki h263-rs h263-rs is a pure-Rust implementation of ITU-T Recommendation H.263 (2005/08), a video codec commonly u

Ruffle 7 Dec 18, 2022
Gyroflow is an application that can stabilize your video by using motion data from a gyroscope and optionally an accelerometer

Gyroflow is an application that can stabilize your video by using motion data from a gyroscope and optionally an accelerometer. Modern cameras record that data internally (GoPro, Sony, Insta360 etc), and this application stabilizes the captured footage precisely by using them. It can also use gyro data from an external source (eg. from Betaflight blackbox).

Gyroflow 3.9k Jan 5, 2023
Lumiere is a proof-of-concept/example video player built with the Slint UI framework and libmpv

Lumiere is a proof-of-concept/example video player built with the Slint UI framework and libmpv. This was built quickly to try out Slint and it's new OpenGL underlay feature.

Valerian G. 25 Nov 21, 2022
Xiu - A simple and secure live media server in pure Rust (RTMP/HTTP-FLV/HLS/Relay).🦀

Xiu is a simple and secure live media server written by pure Rust, it now supports popular live protocols like RTMP/HLS/HTTP-FLV (and maybe other protocols in the future), you can deploy it as a stand-alone server or a cluster using the relay feature.

HarlanC 602 Jan 2, 2023
A terminal ASCII media player. View images, gifs, videos, webcam, YouTube, etc.. directly in the terminal as ASCII art.

Terminal Media Player View images, videos (files or YouTube links), webcam, etc directly in the terminal as ASCII. All images you see below are just m

Max Curzi 36 May 8, 2023
A more compact and intuitive ASCII table in your terminal: an alternative to "man 7 ascii" and "ascii"

asciit A more compact and intuitive ASCII table in your terminal: an alternative to man 7 ascii and ascii. Colored numbers and letters are much more e

Qichen Liu 刘启辰 5 Nov 16, 2023
tai (Terminal Ascii Image) tool to convert images to ascii written in Rust

TAI Terminal Ascii Image A tool to convert images to ascii art written in Rust ?? Notes This tool is still in development stage. Contributions All Con

Mustafa Salih 258 Dec 5, 2022
A CLI tool that converts images to ASCII art.

Rust ASCII Art Converter This Rust tool converts images into ASCII art. It takes an image file as input, resizes it according to specified width and h

TheD24 133 Dec 3, 2023
CLI and utilities for converting media files (images/videos) to ascii outputs (output media file or print to console)

CLI and utilities for converting media files (images/videos) to ascii outputs (output media file or print to console). Supports most standard image formats, and some video formats.

Michael 30 Jan 1, 2023
Play videos on IT8951-controlled e-paper displays

it8951-video Play videos on IT8951-controlled e-paper displays via USB. This has been tested with a Waveshare 7.8inch e-Paper HAT display. Design This

Andreas Dzialocha 4 Nov 28, 2022
Kusa is a simple CLI tool that works on any platform and displays GitHub contribution graphs.

Kusa is a simple CLI tool that works on any platform and displays GitHub contribution graphs. Installation Homebrew (only macOS) $ brew tap Ryu0118/Ku

Ryu 103 Jun 18, 2023
Plays back videos in your terminal in an insanely slow and inefficient way.

term-video I guess this is usable now... Compilation Since this project is built using Rust, install its toolchain first, for example using rustup. gi

Pascal Puffke 7 Feb 23, 2022