[v0.6] video4fuze

(this thread can be seen as a continuation of this one )

I decided to write a new post because the other one was fillep up  with posts and it was very difficult to find things there. Video4fuze internals have also changed a lot between these releases, so most issues in one version and other will differ.

Based on ewelot’s findings on this thread, I’ve done a little GUI app. which will let you convert your videos to a format readable by our beloved fuze.

You can download it here

New: for those who wanted it, now there’s a zip compiled archive for download.

It has support for a wide range of video formats (the same as mencoder, as it uses mencoder as a backend) and should work on all *nix  systems and windows.

The universal tar.bz2 archive requires python, mencoder, ffmpeg, PyQt4 and PIL

Please, let me know if it works on any non-Debian sid non-Windows XP SP3 system (the only ones i’ve tested so far).

Features

* .pla playlist creation and edition for MSC mode! ATM it’s a basic implementantion, but I might polish it a bit. These playlists can have files from both the internal memory and the µSD. Thanks to Dunny for providing me with all the information I needed about the .pla/.pla.refs file format :wink:

* Video batch conversion capability, with advanced customizable options, and video thumbnail generation (.thm file) and huge input format support

* Image batch conversion & resizing, in order to be displayable and fit the fuze’s screen size, with huge input format support

* Fully translated into 3 languages (english, spanish, catalan). If you would like your language supported, read the end of the post

* Crossplatform: works on all major platforms, taking native look and feel ( I don’t have a mac, so it’s not tested on macosx, but it should work. Also, it won’t take macosx’s look and feel if you use qt4-x11(fink, darwinports) instead of qt4-mac)

* It’s free as in free beer and as in free speech.

Changelog:

 –0.6–
* Changed default settings to single-pass operation
* Improved installer (it doesn’t leave temporary files any more)
* Improved command-line interface (fuze.py)
* Added fuze.py option to select output directory
* UI vastly enhanced: now it supports properly resizing and full-screen
* Fixed settings being saved only partially in .ini files
* Added setup.py script for easier installation from source
* And LOTS of bugfixes

–0.5–
* Fixed launch of v4f in OSX
* UI enhancements
* Mencoder invoquing code almost rewritten: now it should load just fine mencoder binaries in paths containing whitespace. (Me and my personal war against whitespaces in windows…)
* Now v4f remembers last used paths for videos, songs and images
* AMG backend dropped in favour of fuzemux. Code for this based on Struct’s fuze.py modification
* LOTS of code cleanup.
* Settings in INI files in windows and OSX too

 –0.4.1–
* Updated copyright and license information in main script
* Bugfix: mencoder changing path work-arounded by creating a windows installer (Yes! I finally did it)
* Bugfix: Now unicode paths work on all platforms!
* Bugfix: Video thumbnails are now generatod for files with whitespace in its name
* Bugfix: Strange selection behaviour in playlist mode
* Bugfix: Now it displays thumbnails correctly

–v0.4–
* Added playlist creation and edition capibilities. The playlists creted with v4f can have files from both internal memory and µSD card. Only tested in MSC.
* Added image preview in image conversion
* Some UI redesign.
–v0.3–
* Now it makes .thm thumbnails of videos while converting (which adds a dependency on ffmpeg)
* Bugfix: working directory permissions, fix adapted from the one supplied by srtuct in the sansa forums. Only affects the .deb package (and converted packages).
* Updated .deb depencies in order to make it installable with the relatively new “wine-unstable” sid package.
* Some little changes in unicode string handling, hoping they would solve some problems, but without any effect so far.
* This version won’t load settings from previous versions.
–v0.2.1–
* Bugfix: Now supports utf-8 paths in *nix (not on windows for some weird reason)
* Bugfix: Now it refreshes correctly the output path.
* Bugfix: Fixed whitespace basename error (you couldn’t convert files with whitespace in their name)
–v0.2–
* mencoder command line no more hard-coded: you can now set it in advanced>preferences
* Major restructuration of code in fuze.py
* Changed default mencoder options, using the last suggested by ewelot
* Now it also supports image conversion!
–v0.1–
* First public release

-Known issues:

*On OSX unicode filenames and image converting won’t work. Don’t ask me why, blame apple for shipping a broken custom python.

 You can convert images while converting videos, as the video conversion will only gray out the “Video” tab. I comment this because it may not be obvious if you don’t know it…

Planned features:

  • Concurrent video conversion, maybe detecting the number of cores of the cpu?

  • More advanced playlist editing. Maybe ordering by tags and so on. It will add dependencies, though.

Every feedback is also welcomed

If you want it translated into your language and would like to help translate it, just tell me, it’s a very very easy process! :slight_smile:

PD: Please, report issues about video4fuze on its issue tracker,so we can have this post clean and the solution to every issue can be easily found there without being buried in posts.

Message Edited by ssorgatem on 05-03-2010 03:41 AM

I tried using this product but for some reason I can not figure out how to get the sound track to play in english.  IT is defaulting to Spanish(I think) or maybe french.  I do not understand the code for Mencoder so I am sure that it us something to do with that.  Here is the code that I am using for each pass

Pass 1

C:\Program Files\video4fuze\mencoder.exe -ffourcc DX50 -ofps 20 -vf pp=li,expand=:::::224/176,scale=224:176,harddup -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=683:vmax_b_frames=0:keyint=15:turbo:vpass=1 -srate 44100 -af resample=44100:0:1,format=s16le -oac mp3lame -lameopts cbr:br=128

Pass 2

C:\Program Files\video4fuze\mencoder.exe -ffourcc DX50 -ofps 20 -vf pp=li,expand=:::::224/176,scale=224:176,harddup -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=683:vmax_b_frames=0:keyint=15:vpass=2 -srate 44100 -af resample=44100:0:1,format=s16le -oac mp3lame -lameopts cbr:br=128

Can somebody please help me change the language track?

@depcdivr wrote:

I tried using this product but for some reason I can not figure out how to get the sound track to play in english.  IT is defaulting to Spanish(I think) or maybe french.  I do not understand the code for Mencoder so I am sure that it us something to do with that.  Here is the code that I am using for each pass

 

 

Pass 1

 

C:\Program Files\video4fuze\mencoder.exe -ffourcc DX50 -ofps 20 -vf pp=li,expand=:::::224/176,scale=224:176,harddup -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=683:vmax_b_frames=0:keyint=15:turbo:vpass=1 -srate 44100 -af resample=44100:0:1,format=s16le -oac mp3lame -lameopts cbr:br=128

 

Pass 2

 

C:\Program Files\video4fuze\mencoder.exe -ffourcc DX50 -ofps 20 -vf pp=li,expand=:::::224/176,scale=224:176,harddup -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=683:vmax_b_frames=0:keyint=15:vpass=2 -srate 44100 -af resample=44100:0:1,format=s16le -oac mp3lame -lameopts cbr:br=128

 

 

Can somebody please help me change the language track?

 

Don’t double-post. Did you read the PD?

Now you’ve seen that opening a new thread for every different issue you get more chances to get it solved.

Can we call ssoregatem “ss” for short? :slight_smile:

Which version of Eric do you recommend? Looks like I can get 4 or 5.

Also, has anyone tried stereo channels for the fuze?  I may start playing with that soon…

@noleks wrote:

Can we call ssoregatem “ss” for short? :slight_smile:

Yep, you won’t be the first to do so :slight_smile:

Wow! eric5! I must try it out!

It didn’t exist last time I checked…

Well, I don’t know if the e4p file will load in eric5. I hope so. 

Eric4 is a great IDE. But as I haven’t tested eric5, I can’t tell you if it’s better or worse. Probably eric4 is more stable.Probably eric5 supports python 3 and PySide (i’m talking to talk, I don’t know, but it’d be very cool.)

EDIT: A quick look in eric’s page makes me think that eric5 is just eric4’s port to python3, probably more focused on python3 than python 2. Therefore I reccomend you eric4 for video4fuze hacking. 

Message Edited by ssorgatem on 03-08-2010 10:27 AM

ss:

I don’t see any e4p files.  Not sure where to start here.  Maybe the tutorial first. :slight_smile:

I am tempted to dive right in.  I have knowledge of core Tcl/Tk and Perl, but Python looks significantly different (I’ve seen a little).

If you know perl, think of python as perl without “;”,“{}”, and “$”/“@”/“%” before every variable…

And indentations! :wink:

Well, I learned first python, then perl, and I see perl as python with a lot of extra ugly characters in there.

Yes, it’s sensible to start with a simple python tutorial, then a pyqt4 tutorial, then diving into the code.

I’m trying to make it more readable. Current subversion can work with PySideinstead of PyQt4 (but with issues, presumably due to PySide’s early state of development).

When you feel brave enough to dive into the code, feel free to email me at gmail asking whatever you want about the code. Oh, and when you become confident enough, tell me and I’ll make you a project member, so you’ll be able to commit changes and so.

Yes I’m a braces-not-spaces kind of guy.  In my line of work (semiconductor design), Tcl dominates by a long margin.  I guess at least in Tcl you have a few less ‘$’ signs.

I think I’ll go straight to a PyQt tutorial.  I’ve seen enough Python, I think, to follow along.

Also, I don’t see any e4p files in the bz source tar ball.  Should I be looking elsewhere?

@noleks wrote:
Also, I don’t see any e4p files in the bz source tar ball.  Should I be looking elsewhere?

It’s in subversion, in trunk, look for video4fuze.e4p

In previous commit I introduced a curious bug that mde dialogs pop-up three times instead of once when using PyQt4…

Bravo! Your application is simple to use, fantastic! I used a .vob as the source and it worked very well. Many thanks.

Running Vista Home Premium SP2.

Message Edited by LeeRoy on 03-17-2010 02:44 PM

Does fusemux mean no wine anymore?  Neat!  Thanks a bunch for making this :slight_smile:

Couple things.  Using this on a Eee netbook (1024×600 screen) running Ubuntu Lucid.

apport is popping up crash notifications rather often.  Seems to mostly be when I remove things from the list.  I see this in the terminal:

Traceback (most recent call last):
  File “/usr/share/video4fuze/GUI/MainWindow.py”, line 203, in on_RemoveButton_clicked
    if item.column() == 0:
RuntimeError: underlying C/C++ object has been deleted

Doesn’t seem to cause problems, but what is a big deal is that if there’s a “start encoding” button somewhere, it’s off the bottom of the screen and therefore inaccessible.  (Sadly, this is becoming a bigger and bigger problem with some apps lately…)  Can you rework the window a bit, maybe shrink the queue list?

In case anyone is wondering, I just got a movie to play on my Fuze using audio bitrate 192, and stereo.

@noleks wrote:

Can we call ssoregatem “ss” for short? :slight_smile:

Which version of Eric do you recommend? Looks like I can get 4 or 5.

Also, has anyone tried stereo channels for the fuze?  I may start playing with that soon…

Thanks, bro. This thing works great!!

I just converted a *.mkv file and while it took 20-25 mins to convert a 1.5 hr file, it does the job eventually.Thanks again!

I used the SMC prior to this…sigh. ‘■■■■■’ is the least I can describe. I just bought my fuze yesterday, and till now tried converting 20 files, and only 1 gets it right. Worse, the program hanged/crash/jam and could not exit itself. What kind of nonsense is this???

I have now uninstall all sandisk programs.

video4fuze is working great for me (Windows 7), even with my limited knowledge and no instructions that I could find (or need!).

It would be helpful to know which video formats are recommended or work best for conversion (if known). I have been successful converting several different formats that were created by TiVo Desktop “for portable devices” (ie. my smartphone).

The steps I’m using:

  1. Transfer HD video from Tivo to PC wirelessly using Tivo Desktop

  2. Using Tivo Desktop, convert video “for portable devices” using Tivo desktop (tried several formats options, namely “MPEG-4”, “H.264”, “VGA” and “Palm Pre” - all work on my Palm Pre)

  3. Using video4fuze, convert files from step 2 for use on Fuze. They all work great except the VGA format, which is clearly much worse than the others.

Thanks so much for your hard work! Now I have Curious George on both my Fuze and my phone, so I can trade with my 20-month old son when I need one device or the other!

You rock!!!

Canakite wrote:

Now I have Curious George on both my Fuze and my phone, so I can trade with my 20-month old son when I need one device or the other!

 

No, this is scary! :stuck_out_tongue:

Canakite wrote:

Now I have Curious George on both my Fuze and my phone, so I can trade with my 20-month old son when I need one device or the other!

 

Now, this is scary! :stuck_out_tongue:

vedio4fuze works great on my ubuntu 9.10 desktop. converted an avi and loaded to my fuze, perfect! 

This is a great program!

I’ve finally managed to make my Fuze display album art! :expressionless: I guess the JPGs were too big or something, I dunno.

However I’ve noticed that it gives me an error when I try to convert a file which has non-ASCII characters in its filename. I’m using WinXP 64-bit SP2.

version 0.6 is out!