maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [Announce] TinyAVI video converter (https://talk.maemo.org/showthread.php?t=21930)

anpaza 2008-07-15 00:06

[Announce] TinyAVI video converter
 
Hello!

Today I did an effort and polished/released the version 0.2.0 of TinyAVI.

This is a set of two very easy to use Python scripts for Unix (one command-line and one GUI using PyGtk) which will convert any (well... most :)) video files which are correctly handled by mplayer/mencoder on PCs to a format suitable for portable devices, including Nokia N8xx.

The GUI application can be set up to use multiple CPUs, in which case it will launch several conversion processes in parallel.

Screenshot:
https://developer.berlios.de/dbimage.php?id=4151

I wrote TinyAVI for my 12-year daughter, so it is expected to be very easy to use.

The program can be downloaded from its BerliOS page:
https://developer.berlios.de/project...?group_id=9512

There are ready Fedora 9 and Ubuntu 8.04 packages; for other distributions you will have to either build a package yourselves, or download the .tar.bz2 file and run 'make install'.

Of course, you will need mplayer and mencoder both installed, otherwise the program will do nothing :)

The program will automatically detect the size of your video and will also exclude black borders from the output. Then the source video size will be fit to target device resolution, taking into account the source video aspect ratio. If the aspect ratio of the video and of the device screen is very different, it will stretch "a bit" the image so that it fits better on target device screen, leaving less black space. For example, if your source video has the 4:3 (1.25) aspect, and you choose N8x0 as target device (800/480 = 1.6666 screen aspect), the resulting video will use the 1.45 aspect. If it would stretch it to 1.6666, that would be very noticeable, but with 1.45 it's not too noticeable, but at the same time you can see more details.

Laughing Man 2008-07-15 00:54

Re: [Announce] TinyAVI video converter
 
Hmm when I browse the site in Firefox 3 it seems to give me a security certificate error. (ugh)

anpaza 2008-07-15 08:35

Re: [Announce] TinyAVI video converter
 
BerliOS's public key is certified by FhG FOCUS which should be already in your trust database. Anyway, you can always simply replace https by http.

Jaffa 2008-07-15 12:14

Re: [Announce] TinyAVI video converter
 
Is there anything new I should look at to enhance tablet-encode with?

I'm biased, but it seems a shame to invest effort in creating a new mencoder wrapper when we have Java ones, Windows ones and cross-platform ones already - and, of course, Nokia's Internet Tablet Video Converter.

I don't want to sound like a curmudgeon, or suggest that you might not have some whizzy new idea, but surely one of those projects could have been a base on which to accept some patches? Certainly, your goals sound exactly the same as tablet-encode's!

FWIW, RST38h has also been helping with some thoughts on how to improve the GUI. Two mockups from Pencil, based on his suggestions:
http://www.flegg.org/~andrew/tablet-...1/Page%201.png
http://www.flegg.org/~andrew/tablet-...1/Page%202.png

There'll also be a "lightning session" on tablet-encode at the Maemo Summit to try and increase the number of users and developers.

vbrilon 2008-07-15 16:32

Re: [Announce] TinyAVI video converter
 
Andrew makes a good point. If anyone is interested in making any of these converters function as a plug in for ITVC (both for Windows and OS X), I'd be glad to help out however I can

Jaffa 2008-07-15 17:06

Re: [Announce] TinyAVI video converter
 
Quote:

Originally Posted by vbrilon (Post 203213)
Andrew makes a good point. If anyone is interested in making any of these converters function as a plug in for ITVC (both for Windows and OS X), I'd be glad to help out however I can

Absolutely. The plugin API in ITVC is very powerful, and given the problems with QuickTime's MP4 encoding on OS X, I should stablise and test my "tablet-encode as ITVC encoder" plugin and release it.

anpaza 2008-07-15 17:54

Re: [Announce] TinyAVI video converter
 
tablet-encode is written in Perl, which I don't know and don't like.
Besides, my program is Unix-based and won't work in Windows because it uses shell scripts. Windows users already have that Nokia converter so I don't care about Windows much, besides I simply don't have Windows at home.

Java... I may be biased by Java sucks because it uses its own widget set which has a substantially different look and feel, and because it slowly starts up. C/C++ is simply not the tool for this kind of tasks.

That said, Python was the best choice for me. I looked around, and found no existing programs (in fact, I looked for any video encoders, but did not found tablet-encode - perhaps because when I started TinyAVI I had no internet tablet yet, so I looked at sourceforge and berlios).

P.S. By the way, I'm Andrew too.

vbrilon 2008-07-15 18:40

Re: [Announce] TinyAVI video converter
 
FYI, the ITVC plug-in is socket communication based and supports launching plugins via Java, Python, or Perl.

Bundyo 2008-07-15 19:16

Re: [Announce] TinyAVI video converter
 
Java has GTK+ L&F. tablet-encode started as Unix-based, dunno if it runs on Windows at all. Just for info :)

anpaza 2008-07-16 10:43

Re: [Announce] TinyAVI video converter
 
I tried the gtk look of java, but it still feels like a masquerade. For example, clipboard copy&paste does not work for me in Java with any look-n-feel, and this kills. In general, Java look-n-feel is too alien, I use both Qt and Gtk apps and I have no problems with them.

tablet-encode runs fine, but it doesn't do what I need from such an application. "Improving" it would mean a total rewrite, so I just made my own, without being constrained to learn/use Perl.

Jaffa 2008-07-16 12:17

Re: [Announce] TinyAVI video converter
 
Quote:

Originally Posted by anpaza (Post 203523)
I tried the gtk look of java, but it still feels like a masquerade. For example, clipboard copy&paste does not work for me in Java with any look-n-feel, and this kills. In general, Java look-n-feel is too alien, I use both Qt and Gtk apps and I have no problems with them.

This is (fairly) off-topic, I think this your opinion of Java GUIs is inaccurate. Although my Java development is mostly focused in the EE space, I've done some simple GUI stuff recently and SWT certainly looks no different to a native application, and Sun have finally caught up with that idea in the later versions of Swing. Copy & paste is not a problem for me with SWT apps on either Unix or Windows. Or Swing apps, for that matter. This is without any additional work on the part of the application: the widget set just provides it.

Quote:

tablet-encode runs fine, but it doesn't do what I need from such an application. "Improving" it would mean a total rewrite, so I just made my own, without being constrained to learn/use Perl.
What doesn't it do that you require? FWIW, Bundyo's right in that tablet-encode's roots are Unix-based, and the fact it runs on Windows is a side-effect of mencoder and Perl's portability.

It seems that you wrote this because you didn't know tablet-encode existed, fine - that's my fault for not advertising it outside of the maemo.org community. But it also sounds like you have sound functional requirements which it doesn't meet (which I'd be interested to know from a pure "competitor" point of view) and technical reasons for not wanting to hack on it now that you know it exists (specifically, that you "don't know [Perl]" and "don't like" Perl from what you've seen of it).

Scratching your own itches is fine, and learning through writing software is always good. It's just frustrating to see wheels being reinvented solely for having a different manufacturing process, but the size, shape and colour otherwise being the same! [/bad analogy]

Sorry if this sounds like I'm berating you, just trying to minimise the amount of duplication in our small community.

anpaza 2008-07-31 18:46

Re: [Announce] TinyAVI video converter
 
I would like to announce a new release of TinyAVI.

After my last release I got a lot of feedback from some users, and based on this I made some improvements which would not be possible otherwise. Thank you guys!

Changelog (0.2.2 compared to 0.2.0):
* Use by default -vf-clr to avoid any influence from user config files.
* Use -frames 500 with -ss 0, 150, 300, 600, instead of -endpos 10:0. This is both faster and more reliable.
* Perform the deinterlacing as the very first filter. Some filters may change the image and kerndeint, if inserted after them, can not detect interlaced video.
* Finetuned default denoise filter: hqdn3d=2:1:4.
* Added the "sharpen" option, which enables -vf unsharp=l:3x3:1
* Added the volume normalization option, on by default
* Interface improved to include new options
* Added a "Remove" button to remove videos from queue
* Use the -nouse-filedir-conf switch for mplayer to avoid .conf files to influence mplayer test run.
* Implemented the "Advanced" mode for geeks. All non-advanced stuff is hidden in default mode now, which makes the program very simple and easy to use. To enable, add "Advanced=True" to the "TinyAVI" section in ~/.config/tinyavi-gui.conf
* Advanced mode: added two entry fields where you can enter the values for the -V and -A options (additional audio and video filters).
* Added the notion of "Max width / height" to the profiles. This is the max physical resolution of the device screen. This is used to make the video a bit larger than suggested width/height if it uses the same number of pixels (e.g. W*H) like the suggested size.
* Added the "Extension" field to presets. This sets the default extension (the value of the %(ext)s macro) for the output file.
* Redone the Nokia N8x0 presets to more sane values. There are two presets now: for the GStreamer engine and for the MPlayer engine. My measurements shows that the later outperforms GStreamer by a factor of ~1.5 speaking of resolution and bitrate, so it's highly recommended.
* Added autodetection for number of CPUs.
* Added short selectors for every preset, for usage with the -t switch of tavi.
* If mencoder returns non-zero exit status, do so in tavi.
* Use yadif instead of kerndeint, which is alot better.

I hope you like the new version, which is a really great advance compared to 0.2.0.

Screenshot of the normal running mode, with the Settings tab open (normally it's closed):

http://developer.berlios.de/dbimage.php?id=4161

With the Geek Mode on (enabled by setting Advanced=True in config file):

http://developer.berlios.de/dbimage.php?id=4162

Almost forgot :) The program can be downloaded from the respective download page on BerliOS:

http://developer.berlios.de/project/...?group_id=9512


All times are GMT. The time now is 17:58.

vBulletin® Version 3.8.8