aMSN Forums
September 02, 2014, 10:08:11 am *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: New forum for aMSN !!
 
   Home   Help Search Login Register  
Pages: [1] 2 3 ... 7
  Print  
Author Topic: mimictools 1.0.1 and mimicdecoder 1.0.1.1  (Read 143590 times)
hyriand
Newbie

Offline Offline

Posts: 21


View Profile
« on: March 12, 2007, 08:54:52 pm »

Hey everyone, I just released three small tools I wrote that might be of interest to you:

mimic2rgb - Converts mimic data (like your amsn webcam history's .cam files) into raw RGB video streams which you can then process into anything you like (f.e. to xvid using transcode). This depends on libmimic (which you can easily find on google).

mimicdatregen - Regenerates an amsn .dat file by analyzing the .cam file.

mimicdecoder - A graphical user interface around mimic2rgb, written in python using a Qt3 interface (sorry about that, but my tcl/tk skills suck). Mimicdecoder scans your amsn history for webcam sessions and presents them in a nice tree. Pick one and you can convert it to a raw RGB stream or an XVID file using transcode (assuming that transcode is installed). Mimicdecoder also depends on mimic2rgb.

Note that these two tools were developed to work on linux and using them on another platform will most likely take a little bit of porting effort.

Get the sources at:
http://thegraveyard.org/files/mimictools-1.0.1.tar.gz (contains mimic2rgb and mimicdatregen)
http://thegraveyard.org/files/mimicdecoder-1.0.1.1.tar.gz (contains mimicdecoder)

Or, debian packages (made by MurDoK, tested on Ubunty Feisty Fawn, should work on all intel debian machines):
http://thegraveyard.org/files/libmimic1.0.4_i386.deb (contains libmimic 1.0.4)
http://thegraveyard.org/files/mimic-tools1.0.1.deb (contains mimictools 1.0.1 and mimicdecoder 1.0.1.1)

Screenshot (of mimicdecoder 1.0.1):


Changes in mimicdecoder 1.0.1.1
  • properly sort the webcam sessions


Changes in mimicdecoder and mimictools 1.0.1
  • mimic2rgb can now output any rgba combination and order (f.e. bgr or argb)
  • added mimicdatregen that can re-create index files for .cam files
  • added preview function to mimicdecoder
  • mimicdecoder now also looks in archived directories
  • probably stuff I forgot about
Logged
kakaroto
Administrator
Super Power User
*****
Offline Offline

Posts: 9428


View Profile WWW
« Reply #1 on: March 13, 2007, 02:35:33 am »

wow, that's really great!
congrats on making such a tool! there's already a solution for windows, so one for linux is very welcomed. Thanks!
I'll move the thread to the linux forums and sticky it so people can see it easily.
Logged

KaKaRoTo
viniciuscordeiro
Newbie

Offline Offline

Posts: 9


View Profile
« Reply #2 on: March 13, 2007, 02:13:28 pm »

See the output when I tried to convert to XVID (I installed libmimic and run ldconfig):

Code:
transcode v1.0.3rc0 (C) 2001-2003 Thomas Oestreich, 2003-2004 T. Bitterberg
[transcode] auto-probing source /dev/stdin (failed)
[transcode] V: import format    | unknown  (V=raw|A=null)
[transcode] V: import frame     | 320x240  1.33:1  
[transcode] V: bits/pixel       | 5.859
[transcode] V: decoding fps,frc | 4.000,0
[transcode] A: import format    | 0x2000  AC3          [48000,16,2]
[transcode] A: export           | disabled
[transcode] V: encoding fps,frc | 4.000,0
[transcode] A: bytes per frame  | 48000 (48000.000000)
[transcode] A: adjustment       | 0@1000
[transcode] V: IA32/AMD64 accel | sse2 (sse2 sse mmxext mmx asm C)
tc_memcpy: using sse for memcpy
[transcode] V: video buffer     | 10 @ 320x240
[import_null.so] v0.2.0 (2002-01-19) (video) null | (audio) null
[import_raw.so] v0.3.2 (2002-11-10) (video) RGB/YUV | (audio) PCM
[transcode] warning : /usr/lib/libavcodec.so.51: undefined symbol: faacDecOpen
[transcode] warning : (dl_loader.c) loading "/usr/lib/transcode/export_xvid.so" failed
[transcode] warning : (encoder.c) loading video export module failed
[transcode] warning : failed to init export modules
[transcode] critical: plug-in initialization failed


I have the libavcodec-CVS.so and I linked dinamically to livavcodec.so.51 and the file export_xvid.so exist on that directory...
What can I do?
Logged
kakaroto
Administrator
Super Power User
*****
Offline Offline

Posts: 9428


View Profile WWW
« Reply #3 on: March 13, 2007, 03:02:54 pm »

I think this is the wrong place to post such a question, it's either amsn related, or related to this utility. This obviously looks like an error coming from your own transcode/libavcodec installation. Look at the line here :
Quote

[transcode] warning : /usr/lib/libavcodec.so.51: undefined symbol: faacDecOpen

obviously, your libavcodec has some missing symbols, probably a library it depends on which isn't installed. Please make sure your transcode/libavcodec/xvid installations are correctly installed before complaining about this utility.
if hyriand wants to help you debug this situation, he can do it, but I just want to make sure you understand that he has no obligation to do so and that your question is out of topic here.
thanks
Logged

KaKaRoTo
hyriand
Newbie

Offline Offline

Posts: 21


View Profile
« Reply #4 on: March 13, 2007, 03:07:45 pm »

Quote from: "viniciuscordeiro"
See the output when I tried to convert to XVID (I installed libmimic and run ldconfig):

Code:

[transcode] warning : /usr/lib/libavcodec.so.51: undefined symbol: faacDecOpen
[transcode] warning : (dl_loader.c) loading "/usr/lib/transcode/export_xvid.so" failed
[transcode] warning : (encoder.c) loading video export module failed
[transcode] warning : failed to init export modules
[transcode] critical: plug-in initialization failed


I have the libavcodec-CVS.so and I linked dinamically to livavcodec.so.51 and the file export_xvid.so exist on that directory...
What can I do?


I'm no expert with transcode, but it looks like the export_xvid plugin was linked against a different version of libavcodec than you have currently installed on your system.

Could you try editing mimicdecoder and, around line 122, change the line that starts with cmd2= to:
Code:
cmd2 = 'transcode -x raw,null -y ffmpeg,null -F mpeg4 -f 4 -g %ix%i --use_rgb -i /dev/stdin -o "%s"' % (w, h, path)


That'll make transcode use the ffmpeg mpeg4 / divx codec. Colors might be off, but that can be fixed.
Logged
kakaroto
Administrator
Super Power User
*****
Offline Offline

Posts: 9428


View Profile WWW
« Reply #5 on: March 13, 2007, 03:50:12 pm »

I think transcode tried to load export_xvid which dependent on libavcodec (.so.51) so when transcode tried to load export_xvid, then libavcodec.so.51 gets loaded at the same time but it failed (because of the undefined symbol), so export_xvid.so failed to load (because its dependency failed to load). I think you should look at the 'faacDecOpen', why it doesn't find that symbol...
http://www.google.com/search?client=opera&rls=en&q=faacdecopen&sourceid=opera&num=100&ie=utf-8&oe=utf-8
seems to happen to libavcodec.so.51, so maybe it's the cvs version that is broken, you should maybe try using a stable release... at least, you won't be complaining about issues caused by instability of the tools because you use a cvs version.
Logged

KaKaRoTo
hyriand
Newbie

Offline Offline

Posts: 21


View Profile
« Reply #6 on: March 13, 2007, 10:37:36 pm »

Here's a list of things that'll be in versions 1.0.1:

mimic2rgb
- will be able to output any R8 G8 B8 combination (f.e. RGB24, BGR24, ARGB, etc). Mimic2rgb currently only outputs bgr because transcode's xvid export plugins seems to require that.

mimicdecoder
- preview webcam sessions
- will be able to use ffmpeg instead of transcode
Logged
hyriand
Newbie

Offline Offline

Posts: 21


View Profile
« Reply #7 on: March 14, 2007, 01:46:25 am »

People experiencing the libavcodec.so problem can edit mimicdecoder.py and change the forementioned line to:

Code:
cmd2 = 'ffmpeg -f rawvideo -pix_fmt bgr24 -s %ix%i -r 4 -i - -f avi -vcodec xvid -y "%s"' % (w, h, path)


It'll use ffmpeg directly instead of transcode after which it might work.
Logged
Fenix-TX
Super Power User
**
Offline Offline

Posts: 660


View Profile
« Reply #8 on: March 14, 2007, 05:52:21 pm »

Hi! Thanks for your great application, but mimicdecoder doesn't find any seesion of webcams, because my sessions are archived by "Month Year", so only works if webcam sessions are on path ./amsn/<profile>/webcam and those files are only the current month, and the next month those sessions will be automatically archieved by amsn on "March 2007". Can you add an option to select the path or search if there are folders inside on webcam folder? Thanks.
Logged
hyriand
Newbie

Offline Offline

Posts: 21


View Profile
« Reply #9 on: March 14, 2007, 09:10:11 pm »

Quote from: "Fenix-TX"
Hi! Thanks for your great application, but mimicdecoder doesn't find any seesion of webcams, because my sessions are archived by "Month Year", so only works if webcam sessions are on path ./amsn/<profile>/webcam and those files are only the current month, and the next month those sessions will be automatically archieved by amsn on "March 2007". Can you add an option to select the path or search if there are folders inside on webcam folder? Thanks.


Ah, I never realized amsn could store them that way. Sure, I'll make it search subfolders of 'webcam' folders as well. Expect it in version 1.0.1.
Logged
Fenix-TX
Super Power User
**
Offline Offline

Posts: 660


View Profile
« Reply #10 on: March 14, 2007, 10:51:41 pm »

Quote from: "hyriand"
Quote from: "Fenix-TX"
Hi! Thanks for your great application, but mimicdecoder doesn't find any seesion of webcams, because my sessions are archived by "Month Year", so only works if webcam sessions are on path ./amsn/<profile>/webcam and those files are only the current month, and the next month those sessions will be automatically archieved by amsn on "March 2007". Can you add an option to select the path or search if there are folders inside on webcam folder? Thanks.


Ah, I never realized amsn could store them that way. Sure, I'll make it search subfolders of 'webcam' folders as well. Expect it in version 1.0.1.


Thanks!  Cheesy
Logged
Rv_Charton
Newbie

Offline Offline

Posts: 14


View Profile
« Reply #11 on: March 15, 2007, 10:05:42 pm »

Thanks! Great tool, I've been looking for such a thing for a long time!
However I experience a problem: my .cam file seems to be too big for mimic2rgb (428 Mb), and mimicdecoder, which would allow me to select the part of the stream I want to convert, don't find any stream; I think that's because I lately experienced lot's of issues with my aMSN connection, so I kept the .cam file and deleted all the other files in .amsn/, and now I remember there was another file in the webcam directory, hardly same name, that is now missing. May be a kind of index file.
Where could I find a example of this file, so I could cheat the program or make a new one that suit my own file?
Thanks!
Logged
hyriand
Newbie

Offline Offline

Posts: 21


View Profile
« Reply #12 on: March 16, 2007, 12:27:54 am »

Quote from: "Rv_Charton"
Thanks! Great tool, I've been looking for such a thing for a long time!
However I experience a problem: my .cam file seems to be too big for mimic2rgb (428 Mb), and mimicdecoder, which would allow me to select the part of the stream I want to convert, don't find any stream; I think that's because I lately experienced lot's of issues with my aMSN connection, so I kept the .cam file and deleted all the other files in .amsn/, and now I remember there was another file in the webcam directory, hardly same name, that is now missing. May be a kind of index file.
Where could I find a example of this file, so I could cheat the program or make a new one that suit my own file?
Thanks!


Along with the .cam file, there came a .dat file that tells amsn (or mimicdecoder, but not mimic2rgb) where in the .cam file the sessions start (and end). Re-creating that file with the correct session starts / ends would be impossible. It's pretty easy to create a .dat file that covers the entire .cam file though. If the .cam file you saved is called 'mycontact.cam' create a file called 'mycontact.dat' with the following text in it:
Code:
0 0


Have you tried just running mimic2rgb on the .cam file to produce a raw file? 428 MB shouldn't be too big I think. You could try to pipe the output of mimic2rgb directly into transcode:

Code:
mimic2rgb mycontact.cam - | transcode -x raw,null -y xvid,null -f 4 -g 320x240 --use_rgb -i /dev/stdin -o mycontact.avi
Logged
Rv_Charton
Newbie

Offline Offline

Posts: 14


View Profile
« Reply #13 on: March 16, 2007, 11:29:04 am »

Quote from: "hyriand"

Have you tried just running mimic2rgb on the .cam file to produce a raw file? 428 MB shouldn't be too big I think. You could try to pipe the output of mimic2rgb directly into transcode:

Code:
mimic2rgb mycontact.cam - | transcode -x raw,null -y xvid,null -f 4 -g 320x240 --use_rgb -i /dev/stdin -o mycontact.avi


Thanks for the answer.
I've tried that. But mimic2rgb stops after a while (at always the same place... hope my file is not corrupted...), with this error:

Code:
zsh: file size limit exceeded (core dumped)


Thanks to your trick and to mimicdecoder, I saw it corresponds to 17% of the file, 3:34:39 of video, for a video that should be more than 20 hours long...
Do you know what it could be?
Logged
hyriand
Newbie

Offline Offline

Posts: 21


View Profile
« Reply #14 on: March 16, 2007, 12:12:04 pm »

Quote from: "Rv_Charton"

Thanks for the answer.
I've tried that. But mimic2rgb stops after a while (at always the same place... hope my file is not corrupted...), with this error:

Code:
zsh: file size limit exceeded (core dumped)


Thanks to your trick and to mimicdecoder, I saw it corresponds to 17% of the file, 3:34:39 of video, for a video that should be more than 20 hours long...
Do you know what it could be?


zsh (your shell) is telling you the file is indeed too large. I think it concerns the intermediate output in the pipe. Could you try a different shell (bash f.e.)?
Logged
Pages: [1] 2 3 ... 7
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!