ScreencastsInUbuntuSpec
|
Size: 11142
Comment:
|
← Revision 22 as of 2008-08-06 16:24:45 ⇥
Size: 12056
Comment: converted to 1.6 markup
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 2: | Line 2: |
| * '''Created''': [[Date(2007-09-27T12:00:00Z)]] | * '''Created''': <<Date(2007-09-27T12:00:00Z)>> |
| Line 5: | Line 5: |
| * '''See also''': | * '''See also''': https://wiki.ubuntu.com/UltimateScreencastingApplication |
| Line 9: | Line 9: |
| This spec describes Screencasts In Ubuntu whose aim is to develop an infrastructure to allow tutorial videos (screencasts) to be easily accessed from the Ubuntu desktop, and directly from within applications. |
This spec describes Screencasts In Ubuntu whose aim is to develop an infrastructure to allow tutorial videos (screencasts) to be easily accessed from the Ubuntu desktop, and directly from within the online help for applications. |
| Line 14: | Line 13: |
| The goal here is to make tuition video content directly available in Ubuntu. This content would be produced by the Ubuntu Screencasts team and it would be made available inside applications and the wider desktop. This could be available by clicking Help->Tutorial Videos and then browsing a range of videos that help the user with various aspects of using that application. We would also have a general purpose set of videos for using the Ubuntu desktop and other aspects of system. This way we could have application specific video tutorials and general system videos. I believe that this needs to feel as embedded as possible inside Ubuntu - in other words, if you click the `Help->Tutorial Videos` link and it just links to a wiki page, that would be the wrong approach. I feel we need to include a small PyGTK application that would browse available videos and stream the video content from the server and play it back. It would also be useful if we stored/cached these screencasts in a folder on the disk so they can be retrieved at a later date without a network connection. This would provide the Ubuntu desktop with video on demand teaching various aspects of the system. |
The goal here is to make tuition video content directly available in Ubuntu. This content would be produced by the Ubuntu Screencasts team and it would be made available directly on the desktop using the standard help browser. The videos would be embedded directly in yelp, being streamed from a localized ubuntu screencast server (CC.screencasts.ubuntu.com/foo/bar/baz). The videos should be easily accessible to someone looking for help. It therefore could make sense for them to be embedded inside the online help. That way the user goes to one location for text based help, screenshots and videos. |
| Line 32: | Line 29: |
| === Embedded in Help option === |
|
| Line 33: | Line 32: |
| * Design and development of a client side search and playback tool | * Yelp + Totem plugin |
| Line 35: | Line 34: |
| * Application integration * The 'Help' menu in many popular applications should be modified to contain a contextual link to the client player for direct access to screencasts |
=== Common elements === |
| Line 44: | Line 42: |
| === Client === | === Playback === |
| Line 46: | Line 44: |
| The client application would essentially have two core views: * Browse - browse the videos available for that specific application / area / contribution type. This could also include a search feature. * Playback - viewing the video with typical transport controls. This application should be written in PyGTK and use GStreamer, all of which are shipped by default in Ubuntu. Writing this kind of application is trivial, it would just need to talk to a back-end service. In terms of codecs we would need the player to stream the codec, and I feel that Ogg Theora could be a suitable codec and one that is built right into Ubuntu. We would need to determine bandwidth issues for the choice of codec, not only for the client to stream the data effectively, but also the cost of bandwidth to stream these videos to multiple clients from an IS perspective. The client should download meta data from the server periodically (configurable) or when the user requests a refresh. ==== Browse / Search ==== Browsing should allow the user to navigate through the library of screencasts and search/filter using terms stored in the meta data. Possible search scenarios:- * Most recently added * Most popular * All pertaining to application 'foo' * All that I have not watched yet * All that I have already watched ==== Playback ==== A simple interface for playback should be used. Something similar to that used by other media players (such as Totem) [should we indeed _use_ Totem?] |
A simple interface for playback should be used. Something similar to that used by other media players (such as Totem). |
| Line 73: | Line 48: |
| Individual applications should have their "help centre" (most likely a menu item) modified to provide a link to start the screencast playback client. The application should pass to the client it's own name and version to allow the client to pre-filter the list of available screencasts and thus make it context sensitive. | Individual applications should have their "help center" (most likely a menu item) modified to provide a link to start the screencast playback client. The application should pass to the client it's own name and version to allow the client to pre-filter the list of available screencasts and thus make it context sensitive. |
| Line 77: | Line 52: |
| We would need a means to store screencasts somewhere so that the client can request them. Launchpad seems a sensible place here, but any structured filesystem would also be suitable. This is something we would need to discuss in more detail and an area in which timescales would need to be discussed - Launchpad may have a longer lead time for this kind of functionality. | We would need a means to store screencasts somewhere so that the client can request them. Launchpad seems a sensible place here, but any structured filesystem would also be suitable. Storing on |
| Line 83: | Line 58: |
| * Screencasts in Ogg / Theora / Vorbis format for streaming over http (or perhaps bittorrent?) | * Screencasts in Ogg / Theora / Vorbis format for streaming by the totem plugin over http |
| Line 88: | Line 63: |
| * Data can be gathered from standard web server log analysis | |
| Line 91: | Line 67: |
| Line 92: | Line 70: |
* Localization * Subtitles - can they be shown in a video that is streamed? (we know that .srt files can be loaded from the local fs) * Alternate audio streams, dub audio on top of the video * language on the desktop when the recording is made. * Full localization is linear in the number of languages both in effort and diskspace. Factors in size of vidoes * resolution * currently 1024x768 -> 1280x720 * make them the minimum size useful for driving the point down * duration * currently 5 to 35 minutes * codec/bitrate video/audio * Flash is a possibility, but is a non-free format. |
|
| Line 95: | Line 90: |
| ScreencastsInUbuntuSpec https://wiki.ubuntu.com/ScreencastsInUbuntuSpec https://blueprints.edge.launchpad.net/ubuntu/+spec/screencasts-in-ubuntu Is there a screencast that shows me how to...? Each application has a a link in the help menu to video tutorials. This opens some app listing the screencasts for that app. You can then play one. Using a custom app allows you to remember which is watched. Factors in size of vidoes * resolution * currently 1024x768 -> 1280x720 * make them the minimum size useful for driving the point down * duration * currently 5 to 35 minutes * codec/bitrate video/audio * Flash is a possibility, but is a non-free format. Try and merge all help sources so that you don't have to know where to look up-front. Other issues * localisation - subtitles? - alternate audio streams - language on the desktop when the recording is made. - Full localisation is linear in the number of languages both in effort and diskspace. * There are possible future formats with video in HTML (possibly in Firefox 4). * Launchpad integration for videos, Help -> Video taking users to a launchpad video page for that application * Novell has its own mechanism for SuSe tutorial videos |
|
| Line 153: | Line 106: |
| * xvidcap in universe/multiverse * avidemux to have ogg support * Make this - \ | v UltimateScreencastingApplication Here at FOSSCamp we had a session about screencasting. In it we started with the premise that "It's too hard to produce high quality, full length screencasts, and this is why most people don't do it". My definition of "quality" is clearly different from others. Generally I'm thinking:- • High resolution (1024x768 and above) • Decent audio track explaining the topics • Duration sufficient to cover topics in some depth Right now the following tasks are done when I create a screencast:- 1. Setup environment to record (qemu/vnc) 2. Record video of what occurs on the desktop (xvidcap/recordmydesktop/istanbul) 3. Playback video (totem) 4. Edit video (avidemux) 5. Record simple titles to insert at points in the video (OO.o/xvidcap) 6. Use transitioning effects (to show titles sliding in and out for example) in the titles (OO.o/xvidcap) 7. Insert titles in between video (avidemux) 8. Record audio (audacity) 9. Dub audio over video (audacity) 10. Re-encode screencasts to different formats (ffmpeg) Things I'd also like but can't/don't currently do 10. Zoom in to highlight items 11. Select area using mouse + special key combination to highlight/focus on a part of the screen This is clearly a quite mentally difficult to do. If we're ever going to get substantial quantities of people contributing to this project it all needs to be made easier (or we lower our standards :( ). I've been thinking for some time that we need a single unified screencasting application that can do pretty much all of the above in one place. This may sound ambitious but after some thought I think it's probably possible mostly using existing apps/libs and maybe we can get the authors of these apps involved. Here's the thinking:- Gstreamer can record the contents of the screen (or indeed a window) and is what Istanbul (screencasting app) is based on. Pitivi http://video.google.co.uk/videoplay?docid=-2369893842637434537&q=dual+boot+windows+ubuntu&total=20&start=0&num=10&so=0&type=search&plindex=0 |
* xvidcap in universe/multiverse * Extend existing screencasting applications like Istanbul or RecordMyDesktop * avidemux to have ogg support * Make this:- UltimateScreencastingApplication |
| Line 202: | Line 113: |
| [https://wiki.ubuntu.com/Daengbo Daengbo]: I think this would be most easily accomplished by having RSS feeds for each release and category. The video help system would then just be a simple RSS parser which listed, for example, the 8.04 videos tagged with Rhythmbox. If there is a specific order to the videos (basic to advanced), that could easily be set server-side. I guess mousing over the name of the video would bring up a short description, and clicking on it would just open a link to the video with Totem (or preferred player). This is a great idea!! My only complaint is that the screencast team now mispronounces Ubuntu, so the screencasts will need to be a little more professional. Bandwidth could be saved by integrating bittorrent into the download client, but I think that's too much for a Hardy release. | [[https://wiki.ubuntu.com/Daengbo|Daengbo]]: I think this would be most easily accomplished by having RSS feeds for each release and category. The video help system would then just be a simple RSS parser which listed, for example, the 8.04 videos tagged with Rhythmbox. If there is a specific order to the videos (basic to advanced), that could easily be set server-side. I guess mousing over the name of the video would bring up a short description, and clicking on it would just open a link to the video with Totem (or preferred player). This is a great idea!! My only complaint is that the screencast team now mispronounces Ubuntu, so the screencasts will need to be a little more professional. Bandwidth could be saved by integrating bittorrent into the download client, but I think that's too much for a Hardy release. |
| Line 204: | Line 115: |
| [https://wiki.ubuntu.com/Daengbo Daengbo]: One more thought about bandwidth. The videos could be packaged as part of the documentation, installed upon the first request to view the video. This would solve the problem of bandwidth, since the packages are already mirrored. | [[https://wiki.ubuntu.com/Daengbo|Daengbo]]: One more thought about bandwidth. The videos could be packaged as part of the documentation, installed upon the first request to view the video. This would solve the problem of bandwidth, since the packages are already mirrored. [[https://wiki.ubuntu.com/MattRossi|Matthew Rossi]]: I like the idea, and will endorse it where needed. The bandwith issue will be a problem, though I think that the bittorrent idea is clever. The idea of installing the videos as documentation packages is clever, but you can't balloon the size of the package too far. There are many Ubuntu users that don't have access to Unlimited Downloads/Fast Internet. Also, I have always pronounced Ubuntu correctly from the start. So much to say for most of you ;) AlanPope: Ideally the videos would be hosted by Ubuntu/Canonical (as the screencasts already are), and could potentially be mirrored by willing parties. The videos would be streamed, so would not be installed on the local machine, so it would not cause disk space issues. I don't think that pronouncing something _differently_ makes something less professional. A large proportion of people "mispronounce" Ubuntu, in the same way that a large proportion of people "mispronounce" Linux. I really don't think that's a major issue. [[https://wiki.ubuntu.com/MattRossi|Matthew Rossi]]: We should be offering '''both''' direct download '''and''' streamed versions. There'd be people out there that would want to watch a screencast repetitively so that they can see what they missed '''without''' having to download it every time. Some people like myself don't have that luxury, especially seeing that some of these screencasts are in excess of 20 mins long (it's not as if it's a bad thing), because of bandwith restrictions that they have on them imposed by their ISP. Maybe you could have a setting where you could choose between direct download or streaming? Also, are there any other players aside from Totem to be used for streaming, because I've had nothing but problems regarding streaming in Totem (don't want to go into detail about it though). AlanPope: The current thinking is for the videos to be embedded inside the help viewer "yelp". So when you go for help on a particular topic you would find a text description of the application with maybe some screenshots, but one or more embedded videos. They would not play automatically, but would start once the user clicks the "play" button. As the videos would be hosted on a site accessible over http, I see no reason why they should not also be playable directly from the web. No Specific player would be chosen, the user would simply use whatever browser plugin their system has installed, which by default is Totem, but can be changed by the user. It would be possible to have a link under each video titled "Download" to allow users to download and view them later. It's worth pointing out that these screencasts will likely be very short - 1-5 minutes long, and not be full screen resolution. AlanPope: It might be nice to be able to configure the yelp tool to know whether a net connection is available or not. If not, it should not show the embedded video as the user will be unable to play them and will likely get annoyed when they get errors on clicking them. In addition it might be useful if the base url {{{http://}}} {{{screencasts.ubuntu.com}}} could be configured so that people could host their own local copy of the videos. StuartLangridge: You don't want to configure the server, I wouldn't have thought. Just pick up which ubuntu server they have set as the repository in synaptic, and use that one or the relevant one for the corresponding country, if you see what I mean). AlanPope: I do, but we wont store them in the standard place, they wont be on archive.ubuntu.com for example, more likely gb.screencasts.ubuntu.com or something having a local mirror would be quite neat though I think, especially in a training environment. StuartLangridge: true, but if I'm using gb.archive.ubuntu.com as my mirror then I can use gb.screencasts.ubuntu.com as my video mirror, surely? AlanPope: that would make sense StuartLangridge: I mean, there's a list somewhere which knows that "gb.archive.ubuntu.com" is in the UK. Actually, a nice way might be to link to the videos as {{{http://screencasts.ubuntu.com/displayvideo?videoname=gimp.ogg&myarchive=gb.archive.ubuntu.com}}} and then have that page redirect so you only need the list of what mirrors are in what country in one place and if there's no video mirror corresponding to your archive mirror, then just use screencasts.ubuntu.com. This does of course rely on yelp being able to dynamically create links in help pages which contain your set archive mirror, which might be doable with JavaScript if yelp pages are privileged enough to be able to read the filesystem. MatthewPaulThomas: I think it would be very cool to have screencasts on relevant pages on [[https://help.ubuntu.com/community|help.ubuntu.com]]. That way individual help topics can have a “Show Me” link if there’s a relevant screencast, rather than people having to guess ahead of time whether their particular problem will have a related screencast or not. This would also solve the hosting problem without any extra infrastructure: a screencast would be a wiki attachment. And it would solve the localization problem: localized versions of the help pages would link to screencasts only if there was a version suitable for that language (whether done from scratch, dubbed, or subtitled). RandalBarlow: I am doing something similar with my project [[https://launchpad.net/showcast|ShowCast]](a showcase of screencast). It is somewhat different in that it would load upon first login and present a simple interface where a new user could view a few vital screencast like 'Installing Applications in Ubuntu'. It is built using pygtk and uses gstreamer to display the screencast in the same window rather then opening a new totem window. |
| Line 206: | Line 142: |
Launchpad Entry: screencasts-in-ubuntu
Created: 2007-09-27
Contributors: AlanPope
Packages affected:
See also: https://wiki.ubuntu.com/UltimateScreencastingApplication
Summary
This spec describes Screencasts In Ubuntu whose aim is to develop an infrastructure to allow tutorial videos (screencasts) to be easily accessed from the Ubuntu desktop, and directly from within the online help for applications.
Rationale
The goal here is to make tuition video content directly available in Ubuntu. This content would be produced by the Ubuntu Screencasts team and it would be made available directly on the desktop using the standard help browser. The videos would be embedded directly in yelp, being streamed from a localized ubuntu screencast server (CC.screencasts.ubuntu.com/foo/bar/baz). The videos should be easily accessible to someone looking for help. It therefore could make sense for them to be embedded inside the online help. That way the user goes to one location for text based help, screenshots and videos.
Use Cases
John buys a new Ubuntu system from Dell and wants to get started. When he logs in, a little notification bubble pops up telling him tutorial videos are available by clicking System->Tutorial Videos. He clicks the menu and a little program appears with a range of general purpose tuition videos.
Paul wants to learn how to use OpenOffice.org Writer - he clicks Help->Tuition Videos and the window appears with a range of videos for different tasks in that application.
Daniel is keen to learn how to contribute to Ubuntu. He clicks System->Contribute->Tuition Videos. Here the window appears and has a number of videos for packaging, bug triage, translations etc are available. He can now get started learning how to contribute easily.
- Sarah is installing Ubuntu. When she boots from the CD and the desktop starts, a small window appears offering her a video tutorial of how to install Ubuntu.
Scope
Due to the nature of the spec, the scope reaches into a number of distinct areas:-
Embedded in Help option
- Client
- Yelp + Totem plugin
Common elements
- Server side hosting and management
- Deployment of videos to server infrastructure
- Streaming technologies
Design
Playback
A simple interface for playback should be used. Something similar to that used by other media players (such as Totem).
Application Integration
Individual applications should have their "help center" (most likely a menu item) modified to provide a link to start the screencast playback client. The application should pass to the client it's own name and version to allow the client to pre-filter the list of available screencasts and thus make it context sensitive.
Server hosting
We would need a means to store screencasts somewhere so that the client can request them. Launchpad seems a sensible place here, but any structured filesystem would also be suitable. Storing on
This would also require an investment from IS regarding serving and bandwidth. We would need to determine bandwidth requirements and affordability.
The server should host:-
- Screencasts in Ogg / Theora / Vorbis format for streaming by the totem plugin over http
- Screencast meta-data
- Release of Ubuntu that each screencast pertains to
- Application(s) and versions of, that each screencast pertains to.
- Size, date created, popularity, duration, and availability of audio tracks and subtitles
- Data can be gathered from standard web server log analysis
Implementation
Unresolved issues
- Localization
- Subtitles - can they be shown in a video that is streamed? (we know that .srt files can be loaded from the local fs)
- Alternate audio streams, dub audio on top of the video
- language on the desktop when the recording is made.
- Full localization is linear in the number of languages both in effort and diskspace.
Factors in size of vidoes
- resolution
currently 1024x768 -> 1280x720
- make them the minimum size useful for driving the point down
- duration
- currently 5 to 35 minutes
- codec/bitrate video/audio
- Flash is a possibility, but is a non-free format.
BoF agenda and discussion
The tools ========= * recording:
- we want only free tools
- xvidcap:
- not in universe, because of legal problems with the parts we don't use (ffmpeg,...)
- could motu package a clean version?
* all current apps have limitations * editing:
- avidemux: could motu package this with added ogg theora/vorbis support?
* documented in the wiki * possibility to use xnest and simplify
How to make it easier to contribute:
- xvidcap in universe/multiverse
Extend existing screencasting applications like Istanbul or RecordMyDesktop
- avidemux to have ogg support
Make this:- UltimateScreencastingApplication
Comments
Daengbo: I think this would be most easily accomplished by having RSS feeds for each release and category. The video help system would then just be a simple RSS parser which listed, for example, the 8.04 videos tagged with Rhythmbox. If there is a specific order to the videos (basic to advanced), that could easily be set server-side. I guess mousing over the name of the video would bring up a short description, and clicking on it would just open a link to the video with Totem (or preferred player). This is a great idea!! My only complaint is that the screencast team now mispronounces Ubuntu, so the screencasts will need to be a little more professional. Bandwidth could be saved by integrating bittorrent into the download client, but I think that's too much for a Hardy release.
Daengbo: One more thought about bandwidth. The videos could be packaged as part of the documentation, installed upon the first request to view the video. This would solve the problem of bandwidth, since the packages are already mirrored.
Matthew Rossi: I like the idea, and will endorse it where needed. The bandwith issue will be a problem, though I think that the bittorrent idea is clever. The idea of installing the videos as documentation packages is clever, but you can't balloon the size of the package too far. There are many Ubuntu users that don't have access to Unlimited Downloads/Fast Internet. Also, I have always pronounced Ubuntu correctly from the start. So much to say for most of you
AlanPope: Ideally the videos would be hosted by Ubuntu/Canonical (as the screencasts already are), and could potentially be mirrored by willing parties. The videos would be streamed, so would not be installed on the local machine, so it would not cause disk space issues. I don't think that pronouncing something _differently_ makes something less professional. A large proportion of people "mispronounce" Ubuntu, in the same way that a large proportion of people "mispronounce" Linux. I really don't think that's a major issue.
Matthew Rossi: We should be offering both direct download and streamed versions. There'd be people out there that would want to watch a screencast repetitively so that they can see what they missed without having to download it every time. Some people like myself don't have that luxury, especially seeing that some of these screencasts are in excess of 20 mins long (it's not as if it's a bad thing), because of bandwith restrictions that they have on them imposed by their ISP. Maybe you could have a setting where you could choose between direct download or streaming? Also, are there any other players aside from Totem to be used for streaming, because I've had nothing but problems regarding streaming in Totem (don't want to go into detail about it though).
AlanPope: The current thinking is for the videos to be embedded inside the help viewer "yelp". So when you go for help on a particular topic you would find a text description of the application with maybe some screenshots, but one or more embedded videos. They would not play automatically, but would start once the user clicks the "play" button. As the videos would be hosted on a site accessible over http, I see no reason why they should not also be playable directly from the web. No Specific player would be chosen, the user would simply use whatever browser plugin their system has installed, which by default is Totem, but can be changed by the user. It would be possible to have a link under each video titled "Download" to allow users to download and view them later. It's worth pointing out that these screencasts will likely be very short - 1-5 minutes long, and not be full screen resolution.
AlanPope: It might be nice to be able to configure the yelp tool to know whether a net connection is available or not. If not, it should not show the embedded video as the user will be unable to play them and will likely get annoyed when they get errors on clicking them. In addition it might be useful if the base url http:// screencasts.ubuntu.com could be configured so that people could host their own local copy of the videos.
StuartLangridge: You don't want to configure the server, I wouldn't have thought. Just pick up which ubuntu server they have set as the repository in synaptic, and use that one or the relevant one for the corresponding country, if you see what I mean).
AlanPope: I do, but we wont store them in the standard place, they wont be on archive.ubuntu.com for example, more likely gb.screencasts.ubuntu.com or something having a local mirror would be quite neat though I think, especially in a training environment.
StuartLangridge: true, but if I'm using gb.archive.ubuntu.com as my mirror then I can use gb.screencasts.ubuntu.com as my video mirror, surely?
AlanPope: that would make sense
StuartLangridge: I mean, there's a list somewhere which knows that "gb.archive.ubuntu.com" is in the UK. Actually, a nice way might be to link to the videos as http://screencasts.ubuntu.com/displayvideo?videoname=gimp.ogg&myarchive=gb.archive.ubuntu.com and then have that page redirect so you only need the list of what mirrors are in what country in one place and if there's no video mirror corresponding to your archive mirror, then just use screencasts.ubuntu.com. This does of course rely on yelp being able to dynamically create links in help pages which contain your set archive mirror, which might be doable with JavaScript if yelp pages are privileged enough to be able to read the filesystem.
MatthewPaulThomas: I think it would be very cool to have screencasts on relevant pages on help.ubuntu.com. That way individual help topics can have a “Show Me” link if there’s a relevant screencast, rather than people having to guess ahead of time whether their particular problem will have a related screencast or not. This would also solve the hosting problem without any extra infrastructure: a screencast would be a wiki attachment. And it would solve the localization problem: localized versions of the help pages would link to screencasts only if there was a version suitable for that language (whether done from scratch, dubbed, or subtitled).
RandalBarlow: I am doing something similar with my project ShowCast(a showcase of screencast). It is somewhat different in that it would load upon first login and present a simple interface where a new user could view a few vital screencast like 'Installing Applications in Ubuntu'. It is built using pygtk and uses gstreamer to display the screencast in the same window rather then opening a new totem window.
Related specifications and projects
ScreencastsInUbuntuSpec (last edited 2008-08-06 16:24:45 by localhost)