
Cute Giraffe
Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net
*****************************************************************************************
* Cute Giraffe - Qt-based Graphical Interface Wrapper for FFMPEG *
*****************************************************************************************
Cute Giraffe is the ultimate video/audio/image codec - a GUI wrapper for FFMPEG.
FEATURES:
- Video, audio, image conversion
- Convert multiple files (batch conversion)
- Convert audio/video from/to anything FFMPEG supports
- Convert/resize/rotate images from/to PNG/JP(E)G/TIFF/BMP/SVG*/PDF etc.
- Rotate/flip videos
- Adjust audio volume
- Variable start/stop encoding times
- Audio/video presets (from WinFF)
- Custom input variables
- 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
crissi
6 years ago
self.int_validator = QIntValidator()
TypeError: arguments did not match any overloaded call:
QIntValidator(QObject): not enough arguments
QIntValidator(int, int, QObject): not enough arguments
Report
linuxoidoz
6 years ago
Report
crissi
6 years ago
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
Report
linuxoidoz
6 years ago
Report
crissi
6 years ago
Thanks.
Report
Montblanc
7 years ago
Report
Marux
7 years ago
Report
linuxoidoz
7 years ago
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
Report
FraMari
7 years ago
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!
Report
linuxoidoz
7 years ago
Report
FraMari
7 years ago
Report
ctown
9 years ago
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.
Report
linuxoidoz
9 years ago
Report
amigib
9 years ago
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 :)
Report
linuxoidoz
9 years ago
Report
amigib
9 years ago
http://www.amigib.nazwa.pl/grafika/takietam/cute_girafe.png
Report
linuxoidoz
9 years ago
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
Report
amigib
9 years ago
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%
Report
linuxoidoz
9 years ago
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%
Report
linuxoidoz
9 years ago
Report
linuxoidoz
9 years ago
Report
linuxoidoz
9 years ago
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...
Report
linuxoidoz
9 years ago
Report
nowardev
9 years ago
Report
linuxcolor
9 years ago
Report