- Written in Python and Qt - OS independent (tested on Linux and Windows)** - Minimalistic and simplistic approach - Licensed under GPL3
* It seems there is no SVG support in PortablePython-2.7.3+'s version of Qt. ** Tested only on Linux and Windows.
NOTE: Linux and Windows versions of ffmpeg use different encoder libraries, so some options or presets may fail. Check FFMPEG supported formats and codecs for details and enter them manually if you experience problems.
PREREQUISITES:
- Python-2.7+ (please note Python-3.x was not tested and may not work) - PyQt-4.7+
HOW TO INSTALL FOR WINDOWS USERS:
- Python: - www.python.org/download/ - PortablePython: - www.portablepython.com/wiki/Download - Qt: - www.riverbankcomputing.co.uk/software/pyqt/download - For PortablePython on Windows, PyQt has to be installed in ../PortablePython/App - Make sure PyQt version matches Python version (e.g. if Python-2.7.* is installed, then install corresponding PyQt-Py2.7-*, otherwise it will not work) - FFMPEG: - http://ffmpeg.zeranoe.com/builds/ - On first start of Cute Giraffe, select FFMPEG: binffmpeg.exe
TO START Cute Giraffe:
- For Linux users: run/open 'cutegiraffe.pyw' with 'python - For Windows users: open 'cutegiraffe.pyw' with 'pythonw.exe'
SPECIAL THANKS TO DEVELOPERS AND SUPPORTERS:
- Yuri Bongiorno for presets option - WinFF for Ffmpeg presets - OpenClipart for artwork - Python, Qt, PyQt, PyEnchant, LibreOffice, SQLAlchemy, SQLite - Joakim Low from PythonWare for PortablePython Windows Registry script - sqlitefktg4sa for SQLite Foreign Key Trigger Generator for SQLAlchemy
File "/home/crissi/CuteGiraffe-2.0/applications/codec/videopage.py", line 141, in video_ui
self.int_validator = QIntValidator()
TypeError: arguments did not match any overloaded call:
QIntValidator(QObject): not enough arguments
QIntValidator(int, int, QObject): not enough arguments
I've tried it a few times in both video and audio and it works fine, no errors. Please tell me what exactly you're doing and what values you put in. Thanks.
I just want to start it.
Full backtrace:
python2.7 cutegiraffe.pyw
Traceback (most recent call last):
File "cutegiraffe.pyw", line 41, in <module>
win = Codec(a)
File "/home/crissi/CuteGiraffe-2.0/applications/codec/mainwindow.py", line 54, in __init__
self.main_ui()
File "/home/crissi/CuteGiraffe-2.0/applications/codec/mainwindow.py", line 102, in main_ui
self.video_page = VideoPage(self.files, self)
File "/home/crissi//CuteGiraffe-2.0/applications/codec/videopage.py", line 44, in __init__
self.video_ui()
File "/home/crissi/CuteGiraffe-2.0/applications/codec/videopage.py", line 141, in video_ui
self.int_validator = QIntValidator()
TypeError: arguments did not match any overloaded call:
QIntValidator(QObject): not enough arguments
QIntValidator(int, int, QObject): not enough arguments
I've been using this piece of software for years and I still find it really useful! Thank you for this long term support and to Yuri too for the Italian translation. ;)
I just downloaded the last version of Py-Qt-giraff-1.1.1 and i launched on my kubuntu 11.10 and the window looks like a qt3 application, why? if i open the old py-qt-giraff-1.0 the window looks like a regular kde4 program. is there something i can do on my pc or it's just a py-qt-giraff1.1.1 problem?
Open PyQt-giraff.pyw and comment out this line:
app.setStyle("plastique")
that is change it to:
#app.setStyle("plastique")
It's my personal preference, I like the Plastique style more, plus it give the application a consistent look on both Linux and Windows.
More info: see Detailed Description at http://developer.qt.nokia.com/doc/qt-4.8/qstyle.htm
Hi!
Is it possible to change the program's icons?
I tried to substitute them in the icons folder with the oxygen svg icons, but it didn't change anything.
Thanks in advance!
Yes, you can change the icons: copy all your icons to the icons folder, edit the resources.qrc file and then compile it with "pyrcc4 -o resources.py resources.qrc".
Wow, no need to build and it works. Thank you for a easy to use video converter that works. Thanks for not using Mono, still a little paranoid of it. I hope your project becomes very sucessful.
By the way I converted a WMV to Vorbis on Kubuntu Karmic. It SEEMS (from the package name) that I am using the ffmpeg version from Ubuntu's repositories.
Giraffe doesn't provide ffmpeg, it tries to find one on your machine and use that, otherwise you may find another ffmpeg executable (if you have another one installed somewhere) and select that. Saving program settings is not implemented yet (in next version), so when you restart Giraffe it will fall back to the one installed in the default directory /usr/bin
After moving to python your program starts looking promising (earlier wasnt working for me at all).
Now from version 0.2 it is working.. somehow. At least it is converting now but i feel i have no control on this process eh.
Waiting for next release and thanks for your work, there isn't many frontends for ffmpeg so i count on you :)
What did you mean you don't have any control on this process? Please have a look at the ffmpeg documentation (http://ffmpeg.org/ffmpeg-doc.html) on how to use it and what parameters to specify. Cute Giraffe is just a wrapper around ffmpeg. If ffmpeg doesn't do some conversion or the arguments (parameters) are specified incorrectly, it's not the Giraffe's fault... unless it's a bug. For example, I know H.264 codec doesn't work on my machine, it crashes on it with a segmentation fault, but it's a libx264 or ffmpeg bug, not Giraffe's. Using the same arguments in a console does exactly the same thing.
Example: i have set video bitrate to 400 kb/s and i get the same bitrate as source file (about 1200 kb/s), looks like bug for me, but maybe im missing something..
http://www.amigib.nazwa.pl/grafika/takietam/cute_girafe.png
Unfortunately I'm not a multimedia guru, I'm learning ffmpeg and about multimedia conversion myself. All Giraffe does is to pass arguments to ffmpeg, it's the ffmpeg itself which does the conversion, not Giraffe.
I suggest open a console, type that and see what ffmpeg shows you. If it shows the same info, it must be something to do with passing conflicting arguments to it, that is maybe you can't use Xvid, .mkv and 400 kb/s rate, I don't know. If it does show the bit rate of 400k than it must be Giraffe's bug.
>ffmpeg your-input-filename.avi -vcodec libxvid -b 400k your-output-filename.mkv
By popular demand and due to reluctance to install the Mono "baggage", I have ported Cute Giraffe from C# to Python. Enjoy. But bear in mind it's only the beginning of development and it has just the basic functionality which I plan to extend in the near future.
Due to comments I received here and other forums, many have strong opposition to Mono due to various reasons. So I decided to try another popular and cross-platform language.
I'm porting my Cute Giraffe app from Mono/C#/Qt(Qyoto) to Python/Qt. I've never used Python before but so far it looks promising and easy. Hope it won't take long to port it all and then continue with Python.
My first impressions of Pythons are very positive. It seems they took the best of Java and C#. Stay tuned...
Because I like C# and I know it better than others. And I needed a good IDE with code auto completion. MonoDevelop is really good for beginners (as I am) with all the features I need. Qt Creator is like... well, it's written in C++, so it explains a lot, and it doesn't have code auto completion, or at least I couldn't find it yet. And Eric... I'm not touching it again. I had to start somewhere. I know Mono is slower than native programs written in C++ (I've actually made a prototype in Qt Creator in C++ and it loads 3-5 times faster than the one in C# with Mono). I'll see if I can rewrite it in either Python or C++, although I hate C++ syntax and no garbage collection. I looked at Python but my first experience was very bad - it couldn't even run a 'printf("Hellow World");' in Eric giving me 20 error messages. It ran in Eclipse with PyDev though (with auto completion, hey!), so there's a chance.
Ratings & Comments
28 Comments
File "/home/crissi/CuteGiraffe-2.0/applications/codec/videopage.py", line 141, in video_ui self.int_validator = QIntValidator() TypeError: arguments did not match any overloaded call: QIntValidator(QObject): not enough arguments QIntValidator(int, int, QObject): not enough arguments
I've tried it a few times in both video and audio and it works fine, no errors. Please tell me what exactly you're doing and what values you put in. Thanks.
I just want to start it. Full backtrace: python2.7 cutegiraffe.pyw Traceback (most recent call last): File "cutegiraffe.pyw", line 41, in <module> win = Codec(a) File "/home/crissi/CuteGiraffe-2.0/applications/codec/mainwindow.py", line 54, in __init__ self.main_ui() File "/home/crissi/CuteGiraffe-2.0/applications/codec/mainwindow.py", line 102, in main_ui self.video_page = VideoPage(self.files, self) File "/home/crissi//CuteGiraffe-2.0/applications/codec/videopage.py", line 44, in __init__ self.video_ui() File "/home/crissi/CuteGiraffe-2.0/applications/codec/videopage.py", line 141, in video_ui self.int_validator = QIntValidator() TypeError: arguments did not match any overloaded call: QIntValidator(QObject): not enough arguments QIntValidator(int, int, QObject): not enough arguments
Please try a new version 2.0.1
Yes, It starts now :) Thanks.
I've been using this piece of software for years and I still find it really useful! Thank you for this long term support and to Yuri too for the Italian translation. ;)
I just downloaded the last version of Py-Qt-giraff-1.1.1 and i launched on my kubuntu 11.10 and the window looks like a qt3 application, why? if i open the old py-qt-giraff-1.0 the window looks like a regular kde4 program. is there something i can do on my pc or it's just a py-qt-giraff1.1.1 problem?
Open PyQt-giraff.pyw and comment out this line: app.setStyle("plastique") that is change it to: #app.setStyle("plastique") It's my personal preference, I like the Plastique style more, plus it give the application a consistent look on both Linux and Windows. More info: see Detailed Description at http://developer.qt.nokia.com/doc/qt-4.8/qstyle.htm
Hi! Is it possible to change the program's icons? I tried to substitute them in the icons folder with the oxygen svg icons, but it didn't change anything. Thanks in advance!
Yes, you can change the icons: copy all your icons to the icons folder, edit the resources.qrc file and then compile it with "pyrcc4 -o resources.py resources.qrc".
Thanks a lot!
Wow, no need to build and it works. Thank you for a easy to use video converter that works. Thanks for not using Mono, still a little paranoid of it. I hope your project becomes very sucessful. By the way I converted a WMV to Vorbis on Kubuntu Karmic. It SEEMS (from the package name) that I am using the ffmpeg version from Ubuntu's repositories.
Giraffe doesn't provide ffmpeg, it tries to find one on your machine and use that, otherwise you may find another ffmpeg executable (if you have another one installed somewhere) and select that. Saving program settings is not implemented yet (in next version), so when you restart Giraffe it will fall back to the one installed in the default directory /usr/bin
After moving to python your program starts looking promising (earlier wasnt working for me at all). Now from version 0.2 it is working.. somehow. At least it is converting now but i feel i have no control on this process eh. Waiting for next release and thanks for your work, there isn't many frontends for ffmpeg so i count on you :)
What did you mean you don't have any control on this process? Please have a look at the ffmpeg documentation (http://ffmpeg.org/ffmpeg-doc.html) on how to use it and what parameters to specify. Cute Giraffe is just a wrapper around ffmpeg. If ffmpeg doesn't do some conversion or the arguments (parameters) are specified incorrectly, it's not the Giraffe's fault... unless it's a bug. For example, I know H.264 codec doesn't work on my machine, it crashes on it with a segmentation fault, but it's a libx264 or ffmpeg bug, not Giraffe's. Using the same arguments in a console does exactly the same thing.
Example: i have set video bitrate to 400 kb/s and i get the same bitrate as source file (about 1200 kb/s), looks like bug for me, but maybe im missing something.. http://www.amigib.nazwa.pl/grafika/takietam/cute_girafe.png
Unfortunately I'm not a multimedia guru, I'm learning ffmpeg and about multimedia conversion myself. All Giraffe does is to pass arguments to ffmpeg, it's the ffmpeg itself which does the conversion, not Giraffe. I suggest open a console, type that and see what ffmpeg shows you. If it shows the same info, it must be something to do with passing conflicting arguments to it, that is maybe you can't use Xvid, .mkv and 400 kb/s rate, I don't know. If it does show the bit rate of 400k than it must be Giraffe's bug. >ffmpeg your-input-filename.avi -vcodec libxvid -b 400k your-output-filename.mkv
bash-4.1$ ffmpeg -i NahemaH\ -\ Follow\ Me.avi -acodec copy -vcodec libxvid -b 400k Nahemah1.mkv FFmpeg version 0.5.1, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --extra-cflags= --extra-ldflags= --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/man --disable-static --enable-shared --enable-gpl --enable-nonfree --enable-postproc --enable-swscale --enable-avfilter --enable-avfilter-lavf --enable-pthreads --enable-x11grab --enable-bzlib --enable-libamr-nb --enable-libamr-wb --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --arch=i686 libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 1 / 52.20. 1 libavformat 52.31. 0 / 52.31. 0 libavdevice 52. 1. 0 / 52. 1. 0 libavfilter 0. 4. 0 / 0. 4. 0 libswscale 0. 7. 1 / 0. 7. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Mar 4 2010 18:25:12, gcc: 4.4.3 Input #0, avi, from 'NahemaH - Follow Me.avi': Duration: 00:05:02.88, start: 0.000000, bitrate: 1477 kb/s Stream #0.0: Video: mpeg4, yuv420p, 720x576 [PAR 64:45 DAR 16:9], 25 tbr, 25 tbn, 25 tbc Stream #0.1: Audio: mp3, 44100 Hz, stereo, s16, 192 kb/s Output #0, matroska, to 'Nahemah1.mkv': Stream #0.0: Video: libxvid, yuv420p, 720x576 [PAR 64:45 DAR 16:9], q=2-31, 400 kb/s, 90k tbn, 25 tbc Stream #0.1: Audio: libmp3lame, 44100 Hz, stereo, s16, 192 kb/s Stream mapping: Stream #0.0 -> #0.0 Stream #0.1 -> #0.1 Press [q] to stop encoding frame= 7572 fps= 48 q=4.0 Lsize= 22078kB time=302.88 bitrate= 597.1kbits/s video:14835kB audio:7099kB global headers:0kB muxing overhead 0.657843%
I'll look into it. Thank you.
I've checked it on my computer and the results are identical in Giraffe and console but there are two different bitrates shown: Stream #0.0: Video: mpeg4, yuv420p, 384x288 [PAR 1:1 DAR 4:3], q=2-31, 400 kb/s and frame= 2648 fps=291 q=9.0 Lsize= 6130kB time=105.95 bitrate= 473.9kbits/s Maybe the 1st one is what it's set to and the 2nd one is a source's actual bitrate? I've got no idea what they mean and why they're different. Need multimedia guru help here. Full output: > ffmpeg -i video1.avi -vcodec libxvid -b 400k xxx.mkv FFmpeg version SVN-r22648, Copyright (c) 2000-2010 the FFmpeg developers built on Mar 23 2010 21:43:37 with gcc 4.4.1 [gcc-4_4-branch revision 150839] configuration: --shlibdir=/usr/lib64 --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib64 --enable-shared --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libfaad --enable-libfaac --enable-nonfree --enable-libxvid --enable-postproc --enable-gpl --enable-x11grab --enable-libschroedinger --enable-libdirac --enable-libgsm --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libdc1394 --enable-pthreads libavutil 50.12. 0 / 50.12. 0 libavcodec 52.59. 0 / 52.59. 0 libavformat 52.57. 1 / 52.57. 1 libavdevice 52. 2. 0 / 52. 2. 0 libswscale 0.10. 0 / 0.10. 0 libpostproc 51. 2. 0 / 51. 2. 0 Seems stream 0 codec frame rate differs from container frame rate: 3872.00 (3872/1) -> 25.00 (25/1) Input #0, avi, from 'video1.avi': Duration: 00:01:46.00, start: 0.000000, bitrate: 839 kb/s Stream #0.0: Video: mpeg4, yuv420p, 384x288 [PAR 1:1 DAR 4:3], 24.98 fps, 25 tbr, 24.98 tbn, 3872 tbc Stream #0.1: Audio: mp3, 44100 Hz, 2 channels, s16, 128 kb/s Output #0, matroska, to 'xxx.mkv': Metadata: encoder : Lavf52.57.1 Stream #0.0: Video: mpeg4, yuv420p, 384x288 [PAR 1:1 DAR 4:3], q=2-31, 400 kb/s, 1k tbn, 25 tbc Stream #0.1: Audio: mp2, 44100 Hz, 2 channels, s16, 64 kb/s Stream mapping: Stream #0.0 -> #0.0 Stream #0.1 -> #0.1 Press [q] to stop encoding frame= 2648 fps=291 q=9.0 Lsize= 6130kB time=105.95 bitrate= 473.9kbits/s video:5251kB audio:828kB global headers:0kB muxing overhead 0.832452%
By popular demand and due to reluctance to install the Mono "baggage", I have ported Cute Giraffe from C# to Python. Enjoy. But bear in mind it's only the beginning of development and it has just the basic functionality which I plan to extend in the near future.
Due to comments I received here and other forums, many have strong opposition to Mono due to various reasons. So I decided to try another popular and cross-platform language. I'm porting my Cute Giraffe app from Mono/C#/Qt(Qyoto) to Python/Qt. I've never used Python before but so far it looks promising and easy. Hope it won't take long to port it all and then continue with Python. My first impressions of Pythons are very positive. It seems they took the best of Java and C#. Stay tuned...
Because I like C# and I know it better than others. And I needed a good IDE with code auto completion. MonoDevelop is really good for beginners (as I am) with all the features I need. Qt Creator is like... well, it's written in C++, so it explains a lot, and it doesn't have code auto completion, or at least I couldn't find it yet. And Eric... I'm not touching it again. I had to start somewhere. I know Mono is slower than native programs written in C++ (I've actually made a prototype in Qt Creator in C++ and it loads 3-5 times faster than the one in C# with Mono). I'll see if I can rewrite it in either Python or C++, although I hate C++ syntax and no garbage collection. I looked at Python but my first experience was very bad - it couldn't even run a 'printf("Hellow World");' in Eric giving me 20 error messages. It ran in Eclipse with PyDev though (with auto completion, hey!), so there's a chance.
...
Download link not found.