Hi
I would like to annonce my project to build a Library for processing audio and video material with squeak. I put a 1st version on the SqueakSource at kilana.unibe.ch. It's not much yet. But you can load and analyze avi container with mpeg 4 video and mp2 and mp3 audio content.
I did this because I needed a tool to repair some broken avi files. Other tools I tried just failed badly.
Try this:
RIFFArchive openOn: 'test.avi' "use explore it to get a nice tree view of the chunks in the avi"
"open a transcript and execute the following to get some information about the contents" (RIFFArchive openOn: 'test.avi') analyzeVideoStream
"To extract the streams inside the avi container do:" (RIFFArchive openOn: 'some.avi') extractAllStreamsToFile: 'base_fileName'.
"If you have raw streams you can create an avi this way:" | avi | avi := AVIFile with: (M4VStream on: 'video.m4v') with: (MPAStream on: 'audio.mp3'). avi runtime: 100. avi frameRate: 24000 / 1001. avi createIndex. "not working yet" avi writeTo: (StandardFileStream newFileNamed: 'test.avi')
Here is my tentative todo list. - write more documentation and tests - cleanup and speedup - add more container formats like mp4, matroska - add mpeg2 handling (-> dvd authoring???) - connect with the other multimedia bits in squeak (sound, video playing, ...)
The project is of course open for everyone to join.
Enjoy, Martin
this is cooooool Continue. :)
On 13 févr. 05, at 18:16, Martin Kuball wrote:
Hi
I would like to annonce my project to build a Library for processing audio and video material with squeak. I put a 1st version on the SqueakSource at kilana.unibe.ch. It's not much yet. But you can load and analyze avi container with mpeg 4 video and mp2 and mp3 audio content.
I did this because I needed a tool to repair some broken avi files. Other tools I tried just failed badly.
Try this:
RIFFArchive openOn: 'test.avi' "use explore it to get a nice tree view of the chunks in the avi"
"open a transcript and execute the following to get some information about the contents" (RIFFArchive openOn: 'test.avi') analyzeVideoStream
"To extract the streams inside the avi container do:" (RIFFArchive openOn: 'some.avi') extractAllStreamsToFile: 'base_fileName'.
"If you have raw streams you can create an avi this way:" | avi | avi := AVIFile with: (M4VStream on: 'video.m4v') with: (MPAStream on: 'audio.mp3'). avi runtime: 100. avi frameRate: 24000 / 1001. avi createIndex. "not working yet" avi writeTo: (StandardFileStream newFileNamed: 'test.avi')
Here is my tentative todo list.
- write more documentation and tests
- cleanup and speedup
- add more container formats like mp4, matroska
- add mpeg2 handling (-> dvd authoring???)
- connect with the other multimedia bits in squeak (sound, video
playing, ...)
The project is of course open for everyone to join.
Enjoy, Martin
At 06:16 PM 2/13/2005 +0100, you wrote:
Hi
I would like to annonce my project to build a Library for processing audio and video material with squeak. I put a 1st version on the SqueakSource at kilana.unibe.ch. It's not much yet. But you can load and analyze avi container with mpeg 4 video and mp2 and mp3 audio content.
I did this because I needed a tool to repair some broken avi files. Other tools I tried just failed badly.
Very cool.
Have you given any thought to DVD-Video repair? There are quite a few poorly-authored DVDs out there. Check out:
http://www.hometheaterhifi.com/volume_7_4/dvd-benchmark-part-5-progressive-1...
Towards the bottom of this (very long) page you'll see a section called 'Partial List of Things That Can Go "Wrong" on a DVD'.
A tool that could fix some of these problems would be nice.
david
-- David Farber dfarber@numenor.com
Am Sunday 13 February 2005 23:41 schrieb David Farber:
At 06:16 PM 2/13/2005 +0100, you wrote:
Hi
I would like to annonce my project to build a Library for processing audio and video material with squeak. I put a 1st version on the SqueakSource at kilana.unibe.ch. It's not much yet. But you can load and analyze avi container with mpeg 4 video and mp2 and mp3 audio content.
I did this because I needed a tool to repair some broken avi files. Other tools I tried just failed badly.
Very cool.
Have you given any thought to DVD-Video repair? There are quite a few poorly-authored DVDs out there. Check out:
MPEG2 and DVD support is definitely something I want to do.
Martin
"Martin Kuball" MartinKuball@web.de wrote:
<snip>
Hi
I would like to annonce my project to build a Library for processing audio and video material with squeak. I put a 1st version on the SqueakSource at kilana.unibe.ch. It's not much yet. But you can load and analyze avi container with mpeg 4 video and mp2 and mp3 audio content.
I did this because I needed a tool to repair some broken avi files. Other tools I tried just failed badly.
</snip>
Thank you for doing that work, Martin! It looks very promising. However, initialization of AudioVideoLib-Container-maku.1.mcz runs into an error. This is because AvihChunk initialize is evaluated before RIFFChunk initialize was evaluated.
RIFFChunk initialize creates an IdentityDictionary that is needed for AvihChunk initialize. I think the problem here is that (as in change sets) there is no way to control the sequence in which the class initializers are called. A quick fix would add a check in RIFFChunk class>registerHandler:forType:
Greetings, Boris
Am Sunday 13 February 2005 23:57 schrieb Boris Gaertner:
"Martin Kuball" MartinKuball@web.de wrote:
<snip>
Hi
I would like to annonce my project to build a Library for processing audio and video material with squeak. I put a 1st version on the SqueakSource at kilana.unibe.ch. It's not much yet. But you can load and analyze avi container with mpeg 4 video and mp2 and mp3 audio content.
I did this because I needed a tool to repair some broken avi files. Other tools I tried just failed badly.
</snip>
Thank you for doing that work, Martin! It looks very promising. However, initialization of AudioVideoLib-Container-maku.1.mcz runs into an error. This is because AvihChunk initialize is evaluated before RIFFChunk initialize was evaluated.
RIFFChunk initialize creates an IdentityDictionary that is needed for AvihChunk initialize. I think the problem here is that (as in change sets) there is no way to control the sequence in which the class initializers are called. A quick fix would add a check in RIFFChunk class>registerHandler:forType:
Ups! I should test importing the stuff into a fresh image by myself before publishing it. Thanks for the hint.
Martin
Martin Kuball wrote:
Hi
I would like to annonce my project to build a Library for processing audio and video material with squeak. I put a 1st version on the SqueakSource at kilana.unibe.ch. It's not much yet. But you can load and analyze avi container with mpeg 4 video and mp2 and mp3 audio content.
I did this because I needed a tool to repair some broken avi files. Other tools I tried just failed badly.
Try this:
RIFFArchive openOn: 'test.avi' "use explore it to get a nice tree view of the chunks in the avi"
"open a transcript and execute the following to get some information about the contents" (RIFFArchive openOn: 'test.avi') analyzeVideoStream
"To extract the streams inside the avi container do:" (RIFFArchive openOn: 'some.avi') extractAllStreamsToFile: 'base_fileName'.
"If you have raw streams you can create an avi this way:" | avi | avi := AVIFile with: (M4VStream on: 'video.m4v') with: (MPAStream on: 'audio.mp3'). avi runtime: 100. avi frameRate: 24000 / 1001. avi createIndex. "not working yet" avi writeTo: (StandardFileStream newFileNamed: 'test.avi')
Here is my tentative todo list.
- write more documentation and tests
- cleanup and speedup
- add more container formats like mp4, matroska
- add mpeg2 handling (-> dvd authoring???)
- connect with the other multimedia bits in squeak (sound, video
playing, ...)
The project is of course open for everyone to join.
Martin,
I'm just now getting around to your AudioVideoLib package. I'm running 3.9 #7061 and had no problem installing it. Can you tell me how to get started looking at what you've done? Your README says to look in "AVExample" for examples, but there is none. Should I start with your suggestions above in the Feb 2005 message?
thanks! brad
squeak-dev@lists.squeakfoundation.org