Giter VIP home page Giter VIP logo

appbuilder-storybuilder's People

Contributors

chrisvire avatar davideo37 avatar iamphg97 avatar roddy3 avatar shyung18 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

sillsdev amos-cha

appbuilder-storybuilder's Issues

Build binaries that are targeted at platforms

I believer you are running the script by using go as an interpreter based on the current directory. For deployment in SAB, we will need to compile to GO code to a platform-specific binary.

I asked colleagues who release go applications. They said to use https://github.com/goplus/gox.

Something like:

targets=( "darwin/amd64" "linux/386" "linux/amd64" "linux/arm" "windows/386" )
distPath="../../dist"

for target in "${targets[@]}"
do
    # Build binary using gox
    gox -osarch="${target}" -output="${distPath}/${target}/my-project"
...

**Make video**

As a user, I want to be able to give a .slideshow file with all the information, then run the program that will produce a video with the given timing file.

Make software parallelizable

Software should be able to check system core count and run production in parallel if able to increase runtime speeds

Auto-find template

If template is not provided at runtime, code should search current folder for any available .slideshow templates and use the first one it finds

Rename repo

Please rename repo to appbuilder-storybuilder. This will affect the generated binaries with #45.

Overlay video (if necessary)

Final product can include an option for generating an overlay video for comparison between a previously generated video and current iteration version to spot differences or bugs between the two.

**Upload to YouTube**

As a user, once a video is finished, the program will upload the video and subtitles to my YouTube channel

Does not show credits page in merge method

After testing, figured out that this happens when video contains empty audio (silent audio) at the end of the video. Then, it cannot add audio transitions between the two videos.

Solution:

  1. Maybe removing the empty audio, creating new video with empty audio, and then concatenating the videos.

Solved: Came up with new method that merges videos in one single ffmpeg command.

Refactor old fade method

Update old fade function (used for older ffmpeg version) to first create individual videos and then merge them using just traditional fade.

Calculate the start time of the narration based on previous slides

In the new slideshow, start/stop attributes were removed from the element. The values were from the original audio, not the resulting narration mp3 (the reason the start was 4360 was that it was the position in the original source full John 1 mp3). So it was not correct to include them in the .slideshow output.

Determine when you should start and stop the narration audio based on the durations of the slides.

[CP] Generate Log for user feedback

As a user, I want to be able to see the log when the program is generating videos. So, when exceptions happen, I can deal with it immediately.

**Make Video**

As a user, I want to be able to select an audio + timing file and a slideshow, then click a button/key that will combine both into a .mp4 video.

Merge videos in one single command

Merging all the temporary videos in one single command is much faster than the previous merge method. It is also simpler to debug and understand.

[CP] **Make software universal**

As a user, I want to be able to share and run this process as an executable on any OS (Mac, Linux, Windows) even in a docker container.

Add -h flag

Code should include a "-h" option flag to display list of possible flags and their uses.

Add flag to save temporaries

Software should include a flag to prevent deletion of temporary files created during video production for debugging purposes

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.