plugorgau / bbb-render

Scripts to convert a BigBlueButton recording into a single video file
MIT License
64 stars 26 forks source link

prepend and append credits #3

Closed jmlich closed 3 years ago

jmlich commented 3 years ago

I would like to prepend and append some static images to video (each 3 seconds). In the end it should be as follows: title-of-talk.png sponsors.png talk.ges sponsors.png volunteers.png license-and-isbn.png

Can you please give me some suggestions how to implement this feature? I am trying to cut videos from open source conference.

I tried to add those images using ffmpeg, but the audio/video synchronization was broken in final file.

ffmpeg  -y -nostdin -f concat -safe 0 -i "$tmp_filelist" -c copy ./video_out/$filename.mp4 
jmlich commented 3 years ago

I am not very happy with code quality, but it does the job and covers my needs. Feel free to reject pull request without any explanation. (-;

Zorlin commented 3 years ago

Looks alright to me, but I'm not exactly qualified to say so. :) Thanks for the contribution!

I'll let James have a look, but hopefully we'll merge this (possibly with changes).

(EDIT: I accidentally commented on the issue, not on the pull request. Please keep that in mind)

jhenstridge commented 3 years ago

This seems like a reasonable feature. We used to prepend a short video intro to PLUG videos with our old production work flow, but I never got round to doing something similar for bbb-render. I'll try to make some time to look through PR #4 soon.

One nice thing about GES is that it probably doesn't matter whether the title cards are videos or static images.

jhenstridge commented 3 years ago

I've merged PR #4 the change with a few modifications:

  1. the command line arguments are now --opening-credits and --closing-credits, and you will need to pass the option multiple times to set multiple credits. The nargs='+' mode interfered with parsing of positional arguments.
  2. If the credits file is a video rather than still image, it will default to the video's length. Using a video for the credits means you also get sound. I've kept the 3 second default for image credits.
  3. You can override the duration by passing FILENAME:DURATION as the option value, setting a duration in seconds.

Thanks for the contribution!

jmlich commented 3 years ago

That's great! In meantime I processed recordings from our conference. https://www.youtube.com/watch?v=xu-3CmRefvc&list=PLOEQDQruWfhyIkXKzxAkEurpVpeI_U-iz&index=48

I have prepared a set of bash scripts and svg templates to generate video specific into/outro credits. It might be usable for you as well. https://github.com/jmlich/bbb-batch-render/

jhenstridge commented 3 years ago

They look great. I'm glad these scripts helped you process your videos.