Lecture browsing system

From Bjoern Hassler's website
(Redirected from Lecture browsing system)
Jump to: navigation, search

Articles:


2007-12-20 , Capturing a lecture, Capturing a mathematics lecture, Manual Audio and Slide Capture, Automated Audio and Slide Capture, OpenOffice Slide Capture, Lecture browsing system.

This page illustrates some essential features you might want to have. A basic php script is included.

1 What we have

Suppose we have this:

  • A set of mp3 files (in 'Audio_mp3_32')
  • A set of image files (in 'Images_jpg_320x240')
  • The hand-written notes on the lecture (might be empty)
  • The automatically extracted text from the slides (in 'xml-auto')

Copy both of those to your webserver, into a folder called 'Lecture_123' (or similar), so that you have

MyWebServerPATH/Lecture_123/Audio-mp3/Slide01.000.mp3
MyWebServerPATH/Lecture_123/Audio-mp3/Slide01.001.mp3
...
MyWebServerPATH/Lecture_123/Images-Ready/Slide01.000.jpg
MyWebServerPATH/Lecture_123/Images-Ready/Slide01.001.jpg
...
MyWebServerPATH/Lecture_123/notes-manual/Slide01.000.xml
MyWebServerPATH/Lecture_123/notes-manual/Slide01.001.xml
...
MyWebServerPATH/Lecture_123/notes-auto/Slide01.000.txt
MyWebServerPATH/Lecture_123/notes-auto/Slide01.001.txt
...

We also have full length versions:

  • The pdf of the presentation (called 'Lecture_123.pdf')
  • The audio of the presentation (called 'Lecture_123.mp3')
MyWebServerPATH/Lecture_123/Full/Lecture_123.pdf
MyWebServerPATH/Lecture_123/Full/Lecture_123.mp3
MyWebServerPATH/Lecture_123/Full/Lecture_123.xml

2 What we need

2.1 Podcast feed

We now want to have a feed per 'Lecture' and we want to have a feed that has all segments for all lectures in it.

<general rss stuff, see elsewhere/>
<item>
  <title>Lecture 123: Pdf file of slides</title>
  <description>General description of the lecture</description>
  <enclosure url="http: //MyWebServerURL/Lecture_123/Lecture_123.pdf"/>
</item>
<item>
  <title>Lecture 123, Part 01: Bla bla</title>
  <description>Content on slide 1 from Notes.txt, as well as content of Slide01.txt</description>
  <enclosure url="http: //MyWebServerURL/Lecture_123/Audio-mp3/Slide01.000.mp3"/>
</item>
<item>
  <title>Lecture 123, Part 01 continued: Bla bla</title>
  <description>Content on slide 1 from Notes.txt, as well as content of Slide01.txt</description>
  <enclosure url="http: //MyWebServerURL/Lecture_123/Audio-mp3/Slide01.001.mp3"/>
</item>
...
<item>
  <title>Lecture 123, Part 43: Bla bla bla bla</title>
  <description>Content on slide 43 from Notes.txt, as well as content of Slide43.txt</description>
  <enclosure url="http: //MyWebServerURL/Lecture_123/Audio-mp3/Slide43.000.mp3"/>
</item>
...

2.2 Flash

We also want to be able to watch each lecture as a flash file:

A very interesting lecture on 123
<object type="application/x-shockwave-flash" data="flowplayer.swf" width="320" height="240" id="FlowPlayer">
  <param name="allowScriptAccess" value="sameDomain" />
  <param name="movie" value="flowplayer.swf" />
  <param name="quality" value="high" />
  <param name="scale" value="noScale" />
  <param name="wmode" value="transparent" />
  <param name="flashvars" value="config={ 
    showPlayListButtons: true, 
    playList:[ { url: 'http: //MyWebServerURL/Lecture_123/Audio-mp3/Slide01.000.mp3', 
             overlay: 'http: //MyWebServerURL/Lecture_123/Images-Ready/Slide01.000.jpg' }, 
               { url: 'http: //MyWebServerURL/Lecture_123/Audio-mp3/Slide01.001.mp3',
             overlay: 'http: //MyWebServerURL/Lecture_123/Images-Ready/Slide01.001.jpg' }],
    autoPlay: false, 
    autoBuffering: false,
    splashImageFile: 'http: //MyWebServerURL//ClickHereToPlay.jpg',
    showMenu: false, 
    loop: false,  
    showLoopButton: false,  
    showFullScreenButton: false}"
  />
</object>
<a href="http: //MyWebServerURL/Lecture_123/Full/Lecture_123.pdf">Download the entire presentation as pdf</a>
<a href="http: //MyWebServerURL/Lecture_123/Full/Lecture_123.mp3">Download the whole lecture audio as mp3</a>
<a href="http: //MyWebServerURL/Lecture_123/Lecture_123.rss">Subscribe to podcast feed for this lecture</a>
<a href="http: //MyWebServerURL/Lecture_Podcasts.rss">Subscribe to podcast feed for all lectures</a>

3 More thoughts

3.1 Search

We also want to search across all 'notes' files, and to be able to retrieve individual lecture segments. Once you have the segments returned by the search, you should be able to listen to those segments within the search page, or to link out to the whole lectures.

3.2 Mirroring

The system should publish an index file, through which the entire content can be downloaded. We need a script on the receiving end, that can mirror the content.

3.3 Podcasting

The system should publish an rss feed of all assets

3.4 Localisation

Lecturecast localisation