reprocess a recording, start/end time of wav & flv(s)

350 views
Skip to first unread message

gigo

unread,
Jul 25, 2012, 4:48:42 PM7/25/12
to bigblueb...@googlegroups.com

First sorry to bother you as bbb seems to be easy to set up and configure and mostly built proof. But I have looked in the three forms and tried to figure these questions out for weeks to no avail.

One: is there a way to reprocess a recording after it has been processed, and if so how? I would like to process some of my old recording that I did before I added the Matterhorn integration(but I did have desktop and webcam recording on), and I’m thinking of doing https://groups.google.com/forum/?fromgroups#!topic/bigbluebutton-dev/XX23IczXe0c as well and because I have all the raw files I suspect it should be possible.

Two: I’m trying to manually put the wav file and the webcam(s) flv files together in some video editing software(any), but I can’t seem to get the timing right. What I think I need to know is the true start and end times of the wav and flv(s) out of the events.xml to manually place them on a timeline in a video editor and they should sink up.

In the file below which is an example it seems to me that the webcam “320x24036-1339207226606” should start 1:16:53:795/23 or 1:16:54:072/2 after the audio (wav) starts and end 2:52:33:863/25 after the wav starts but that is not right because when you link it up at those times the video of the user talking it wrong. So the question is witch time is the true start of the audio file (1339202532115, 1339202538652, 1339202538655, 1339202538651523, 1339202503720,1339202538648, or something else?) and what time is the true start of the video file (1339207152443, 1339207226606, 1339207152720 or something else?) and is there any reason I shouldn’t be able to link these to files together (in a new file) if I know there two start times?

Also what would be the right end times for the two files?

In my events.xml I have

<recording meeting_id="4b72bade9e5c780995b753f8bd1053060fa55d52-1339202503720">

  <metadata meetingId="TheShow" meetingName="TheShow"/>

  <event timestamp="1339202532115" module="PARTICIPANT" eventname="ParticipantJoinEvent">

    <userId>1</userId>

    <status>{raiseHand=false, hasStream=false, presenter=false}</status>

    <role>MODERATOR</role>

  </event>

  <event timestamp="1339202532323" module="PARTICIPANT" eventname="ParticipantStatusChangeEvent">

    <status>presenter</status>

    <value>true</value>

    <userId>1</userId>

  </event>

  <event timestamp="1339202532326" module="PARTICIPANT" eventname="AssignPresenterEvent">

    <assignedBy>1</assignedBy>

    <name>gigogig</name>

    <userid>1</userid>

  </event>

  <event timestamp="1339202533793" module="PRESENTATION" eventname="ResizeAndMoveSlideEvent">

    <widthRatio>100.0</widthRatio>

    <heightRatio>100.0</heightRatio>

    <yOffset>0.0</yOffset>

    <xOffset>0.0</xOffset>

  </event>

  <event timestamp="1339202534169" module="PRESENTATION" eventname="SharePresentationEvent">

    <presentationName>default</presentationName>

    <share>true</share>

  </event>

  <event timestamp="1339202537180" module="PRESENTATION" eventname="GotoSlideEvent">

    <slide>0</slide>

  </event>

  <event timestamp="1339202537303" module="PRESENTATION" eventname="ResizeAndMoveSlideEvent">

    <xOffset>0.0</xOffset>

    <heightRatio>100.0</heightRatio>

    <yOffset>0.0</yOffset>

    <widthRatio>100.0</widthRatio>

  </event>

  <event timestamp="1339202538652" module="VOICE" eventname="ParticipantJoinedEvent">

    <participant>1</participant>

    <bridge>65847</bridge>

    <locked>false</locked>

    <muted>false</muted>

    <callernumber>1-gigogig</callernumber>

    <talking>false</talking>

    <callername>1-gigogig</callername>

  </event>

  <event timestamp="1339202538655" module="VOICE" eventname="StartRecordingEvent">

    <bridge>65847</bridge>

    <recordingTimestamp>1339202538651523</recordingTimestamp>

    <filename>/var/freeswitch/meetings/4b72bade9e5c780995b753f8bd1053060fa55d52-1339202503720-1339202538648.wav</filename>

  </event>

  ……Lots of other events…….

<event timestamp="1339207152443" module="PARTICIPANT" eventname="ParticipantStatusChangeEvent">

    <status>hasStream</status>

    <value>true,stream=320x24036-1339207226606</value>

    <userId>36</userId>

  </event>

  <event timestamp="1339207152720" module="WEBCAM" eventname="StartWebcamShareEvent">

    <stream>320x24036-1339207226606</stream>

  </event>

……Lots of other events…….

  <event timestamp="1339212891903" module="PARTICIPANT" eventname="ParticipantLeftEvent">

    <userId>36</userId>

  </event>

  <event timestamp="1339212892511" module="WEBCAM" eventname="StopWebcamShareEvent">

    <duration>5740</duration>

    <stream>320x24036-1339207226606</stream>

  </event>

……Lots of other events…….

<event timestamp="1339215178666" module="PARTICIPANT" eventname="EndAndKickAllEvent">

  </event>

  <event timestamp="1339215178727" module="PARTICIPANT" eventname="ParticipantLeftEvent">

    <userId>10</userId>

  </event>

  <event timestamp="1339215178766" module="PARTICIPANT" eventname="ParticipantLeftEvent">

    <userId>1</userId>

  </event>

  <event timestamp="1339215178771" module="PARTICIPANT" eventname="ParticipantLeftEvent">

    <userId>6</userId>

  </event>

  <event timestamp="1339215178889" module="PARTICIPANT" eventname="ParticipantLeftEvent">

    <userId>247</userId>

  </event>

  <event timestamp="1339215178891" module="PARTICIPANT" eventname="EndAndKickAllEvent">

  </event>

  <event timestamp="1339215179493" module="WEBCAM" eventname="StopWebcamShareEvent">

    <duration>4250</duration>

    <stream>320x240247-1339210753624</stream>

  </event>

  <event timestamp="1339215185431" module="WEBCAM" eventname="StopWebcamShareEvent">

    <stream>640x4801-1339202649325</stream>

    <duration>12633</duration>

  </event>

</recording>

events.xml

Chad Pilkey

unread,
Jul 25, 2012, 5:01:13 PM7/25/12
to bigblueb...@googlegroups.com
Gigo,

For rebuilding a recording there is the " bbb-record --rebuild <meetingid>" command, but you might have issues if the meeting was originally flagged to be processed as a non-Matterhorn recording.

Chad

Fred Dixon

unread,
Jul 25, 2012, 5:04:35 PM7/25/12
to bigblueb...@googlegroups.com
Hi Gigo,

No bother!

For your first question, you can easily mark your recordings for reprocessing using the bbb-record command.

$ bbb-record -h
BigBlueButton Recording Diagnostic Utility 

   bbb-record [options]

Reporting:
   --list                           List all recordings

Monitoring:
   --watch                          Watch processing of recordings
   --rebuild [meetingID]            rebuild the output for meetingID
   --delete [meetingID]             delete one meeting and recording
   --deletall                       delete all meetings and recordings
   --debug                          check for recording errors
   --check                          check for configuration errors


You can use 

  bbb-record --list

to get a specific meetingID, then type

  sudo bbb-record --rebuild <meetingID>

to rebuild (process and publish) a specific recording.

You can have BigBlueButton rebuild all the recordings by typing

  sudo bbb-record --rebuild 



For (2), it's definitely tricky as the webcam recording can start/stop during the meeting and has to be aligned with the audio track.  Perhaps the easiest method is to let the matterhorn scripts process the recordings for you, as it will create a video file for your editing.

Look in

   /var/bigbluebutton/recording/publish/matterhorn/<meetingID>

and you'll find the file

  muxed-audio-webcam.flv

which you can use for editing.

Regards,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton


P.S.  Just saw that Chad replied first (you beat me! :-)



--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/bigbluebutton-dev/-/UIQY0U9zaMMJ.
To post to this group, send email to bigblueb...@googlegroups.com.
To unsubscribe from this group, send email to bigbluebutton-...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/bigbluebutton-dev?hl=en.





gigo

unread,
Jul 25, 2012, 5:08:00 PM7/25/12
to bigblueb...@googlegroups.com
thank you Chad (and wow that was fast) yes the Matterhorn peace will be bad for some meetings as not all my meetings have a desktop share but if i can rewrite the connection to do slides + webcams instead of slides + desktop do you know of any way to re flag the recording so that Matterhorn (or other) processes will run on them and not just the original processes?

gigo

unread,
Jul 25, 2012, 5:50:36 PM7/25/12
to bigblueb...@googlegroups.com
wow two fast responses, thanks Fred Dixon. but the problem i have with the Matterhorn integration (i do love Matterhorn and i think its better to do playback than popcorn but its much harder to install) is it will only do the presenters webcam, what id like to do is be able to do the same thing with the other webcams and do the slides instead of the desktop share and im trying to guess how to do these things but until i can get the timing right out of the events.xml there is no way to program it.

gigo

unread,
Aug 2, 2012, 7:17:03 PM8/2/12
to bigblueb...@googlegroups.com
well more on #2 please
i am trying to read the events.xml for webcam and audio start stop  because the Matterhorn integration (that is configured on my server) wont work for me for two resions, one it needs a desktop capture and all my meetings are webcams + slides + chat so its missing the slides and i need those. also youl notice the webcam(s) and the matterhorn intergration will only do one webcam. so im working on a new integration that im testing and working on manually. i can read the chat log out of the  events.xml and make a close caption file out of that, and i can it seems get the timming of all the slides so i can make a video out of that but i cant get the webcams to line up right with the audio so that's the missing pease. if i can make this work manually im hoping to make a new integration with Matterhorn that has a configuration in it to allow you to chose witch two vids (out of a choice of presenter webcam, all webcams, shared desktop, slides) + close captioning you would like to send to matterhorn.

Fred Dixon

unread,
Aug 3, 2012, 8:25:56 AM8/3/12
to bigblueb...@googlegroups.com
Hi Gigo,

See the discussion in this thread


You can probably build upon the good work by Stephane or upon the upcoming updates to support playback of webcams in BigBlueButton 0.81.


Regards,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton

On Thu, Aug 2, 2012 at 7:17 PM, gigo <gigo.bl...@gmail.com> wrote:
well more on #2 please
i am trying to read the events.xml for webcam and audio start stop  because the Matterhorn integration (that is configured on my server) wont work for me for two resions, one it needs a desktop capture and all my meetings are webcams + slides + chat so its missing the slides and i need those. also youl notice the webcam(s) and the matterhorn intergration will only do one webcam. so im working on a new integration that im testing and working on manually. i can read the chat log out of the  events.xml and make a close caption file out of that, and i can it seems get the timming of all the slides so i can make a video out of that but i cant get the webcams to line up right with the audio so that's the missing pease. if i can make this work manually im hoping to make a new integration with Matterhorn that has a configuration in it to allow you to chose witch two vids (out of a choice of presenter webcam, all webcams, shared desktop, slides) + close captioning you would like to send to matterhorn.

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/bigbluebutton-dev/-/DiJt5yz1J9AJ.
Reply all
Reply to author
Forward
0 new messages