{"id":21496656,"url":"https://github.com/jupfu/beck-view-movie","last_synced_at":"2026-05-10T05:02:59.903Z","repository":{"id":179742098,"uuid":"664060441","full_name":"JuPfu/beck-view-movie","owner":"JuPfu","description":"Assemble mp4 video from list of images","archived":false,"fork":false,"pushed_at":"2024-05-22T20:02:27.000Z","size":35187,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-22T20:50:16.229Z","etag":null,"topics":["multithreading","numpy","opencv","python3","threadpool","tqdm"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JuPfu.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-08T20:07:37.000Z","updated_at":"2024-05-27T23:24:55.975Z","dependencies_parsed_at":null,"dependency_job_id":"ed781541-a508-4e25-9cbd-a29270cb3b85","html_url":"https://github.com/JuPfu/beck-view-movie","commit_stats":null,"previous_names":["jupfu/beck-view-movie"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuPfu%2Fbeck-view-movie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuPfu%2Fbeck-view-movie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuPfu%2Fbeck-view-movie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuPfu%2Fbeck-view-movie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JuPfu","download_url":"https://codeload.github.com/JuPfu/beck-view-movie/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244031028,"owners_count":20386534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["multithreading","numpy","opencv","python3","threadpool","tqdm"],"created_at":"2024-11-23T16:18:08.611Z","updated_at":"2026-05-10T05:02:59.797Z","avatar_url":"https://github.com/JuPfu.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# beck-view-movie\n\n[beck-view-movie](https://github.com/JuPfu/beck-view-movie) is a Python project designed to generate a movie from digitized frames (images) produced by the [beck-view-digitalize](https://github.com/JuPfu/beck-view-digitalize) project. This program converts a sequence of frames into a video file and supports parallel processing to optimize the performance when working with a large number of images.\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Features](#features)\n- [Requirements](#requirements)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Examples](#examples)\n- [License](#license)\n\n## Overview\n\n[beck-view-movie](https://github.com/JuPfu/beck-view-movie) is the second step in the process of digitizing Super V8 films. After the frames have been digitized and stored in an output directory by the [beck-view-digitalize](https://github.com/JuPfu/beck-view-digitalize) project, this program assembles the frames into a video file. The core method of this project utilizes parallel processing for efficient handling of a large number of images.\n\n![beck-view](./assets/img/beck-view-overview.jpg)\n\n## Features\n\n- Assembles digitized frames into a video file.\n- Frames are sorted in the correct sequence to ensure proper chronological order in the video.\n- Supports parallel processing for efficient handling of large image sets.\n- Customizable frame rate (FPS) and output video file name.\n- Supports batch processing, this means images are worked on in chunks - default chunk size is 100 images, to enhance performance.\n- Logging for detailed information and progress tracking.\n- An executable image \u003cem\u003e\"beck-view-movie.exe\"\u003c/em\u003e can be generated with the help of Nuitka.\n\n## Requirements\n\n- Python 3.11 or higher\n- Required Python packages:\n    - `numpy`\n    - `opencv-python`\n    - `tqdm`\n    \nEnsure you have all necessary dependencies installed using the provided requirements file or installing packages via pip:\n\n## Installation\n\nClone the repository:\n```shell\ngit clone https://github.com/JuPfu/beck-view-movie\ncd beck-view-movie\n```\n\nInstall the required dependencies:\n```shell\npip install -r requirements.txt\n```\nOptional - build executable \u003cem\u003ebeck-view-movie.exe\u003c/em\u003e:\n   ```bash\n   pip3 install nuitka\n   pip3 install imageio\n\n   nuitka.bat\n   ```\n\n## Usage\n\nTo use the beck-view-movie program, you must run the script from the command line and provide the necessary arguments. The program accepts the following command-line arguments:\n\n- -p \u003cbr\u003eSpecifies the path to the directory containing PNG frames matching the pattern frame{number}.png. The default is the current directory.\n```shell\n-p /path/to/input/directory\n```\n\n- -o \u003cbr\u003eSpecifies the output directory where the generated MP4 movie will be saved. The default is the current directory.\n```shell\n-o /path/to/output/directory\n```\n\n- -n \u003cbr\u003eSpecifies the name of the output MP4 movie file without postfix. The default is \"beck-view-movie\".\n```shell\n-n output_video\n```\n\n- -of \u003cbr\u003eSpecifies the output format generated and the postfix assigned to the movie file generated. The default is \"mp4\". \nAllowed formats are `avi`, `mp4`, `mp4v`, `m4v` and  `wmf`. The default is  `mp4`.\u003cbr/\u003e\nExample: When `-n output_video` and `-of wmf` had  been specified,  a  movie file with the basename `output_video.wmf` will\nbe generated. This generated file will be in `wmf` format.\n```shell\n-of wmf\n```\n\n- -fps \u003cbr\u003eSpecifies the frames per second (FPS) for the video. The default is 24 FPS, and acceptable values range from 15 to 30.\n```shell\n-fps 21\n```\n\n- -fh \u003cbr\u003eFlip  images horizontally.\n```shell\n-fh\n```\n\n- -fv \u003cbr\u003eFlip  images vertically.\n```shell\n-fv\n```\n\n- -w \u003cbr\u003eNumber of parallel worker threads. The default value is 8. The value should be adapted to your  hardware. Affects speed of assembly.\n```shell\n-w 8\n```\n\n- -bs \u003cbr\u003eSpecifies the batch size which is worked on in parallel in each worker thread. The default is 100 frames (images).\n```shell\n-bs 25\n```\n\n- -wh \u003cbr\u003eSpecifies the width and height of the frames (images) in the directory designated with the `-p`option. The default is a width of 1920 and a height of 1080  pixels.\n```shell\n-wh 1920 1080\n```\n\n\n## Examples\n\nHere's an example of how to run the program from the command line:\n\n```shell\npython beck_view_movie.py -p /path/to/input/directory -o /path/to/output/directory -n my_movie -of wmf -fps 24 -wh 1280  720\n```\n\nIn this example, the program will generate a movie with the resolution of 1280 x 720 pixles in wmf format named my_movie.wmf at 24 frames per second from PNG frames in the specified input directory. The output video file will be saved to the specified output directory.\n\nYou can run the program without any arguments to use the default values for each option.\n\nFor additional help and information on usage, you can use the --help flag:\n\n```shell\npython beck_view_movie.py --help\n```\nThis will display a usage guide with information on the available arguments and their default values.\n\n## License\n\n[beck-view-movie](https://github.com/JuPfu/beck-view-movie) is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Information\nThis `README.md` file provides information on the project, its features, requirements, installation, usage, and examples. It is a comprehensive guide for anyone who wants to understand and use the [beck-view-movie](https://github.com/JuPfu/beck-view-movie) project. Let me know if you need any further assistance or adjustments!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjupfu%2Fbeck-view-movie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjupfu%2Fbeck-view-movie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjupfu%2Fbeck-view-movie/lists"}