«

»

Mar
17
2011

Video Monkey 0.10 Solves Problems on Leopard

Many of you were experiencing problems with 0.9 not working at all on Leopard. That was because I was cleverly trying to make Video Monkey into a 64 bit application. I was hoping for super-fast encoding speeds and an app built … for the future! I was so naive back in those days (3 weeks ago).

Video Monkey has always been for Leopard and above. Leopard supports 64 bit so I thought I had it made. I wasn’t thinking about the 32 bit Macs still supported by Leopard. No problem, I thought. I’ll just make Video Monkey “universal” - capable of working on both 32 bit and 64 bit Macs. Not so fast. To do that you’d need to make a universal version of ffmpeg, the core of Video Monkey’s encoding function. That is much harder than it sounds, and in fact I’ve spent the last 3 weeks unsuccessfully trying to do just that.

Turns out that the build tools for ffmpeg create a 64 bit executable on Snow Leopard (which is a pure 64 bit OS) and a 32 bit executable on Leopard (which is a hybrid). Sounds perfect? Maybe, but the 64 bit executable SL builds is not compatible with Leopard and I have been unable to convince Leopard to build me a 64 bit ffmpeg, which I assume would work on both. For applications built with XCode this is a simple problem – you simply build on Snow Leopard with a Leopard SDK. But ffmpeg doesn’t use XCode. So I’ll have to try harder or find an ffmpeg guru in the crowd.

In the meantime, here is a version that is 32 bit only. It should work on both Leopard and Snow Leopard. Please let me know if it doesn’t. While going through all this pain I also found the time to fix a few of the bugs some of you have posted with 0.9.

Thanks for supporting Video Monkey!

  • MonkeyClubber

    I don’t think you can call Snow Leopard a “pure 64 bit OS” because, as I understand it, several important parts of SL are NOT 64-bit. Isn’t QuickTime one of them?

    • cmarrin

      Oh, I can call it anything I want :-)

      What I really mean by that is that it doesn’t run on 32 bit only processors…

  • ygor

    There is still an issue with path names, but I am not sure if it qualifies as a bug.

    VM-0.10 refused to process a file that has a bullet character (option-8) in its path. In the console, it shows up as a double quote and the error is about mismatched quotes.

    My removing the bullet, I was able to get the file processing.

    FWIW, I do software development for a living, so I will be offering up comments that should be more useful than the typical “It does not work”

    • cmarrin

      Hmmm, those special characters continue to be a pain. Please file this as a new bug.

  • ygor

    …and it still cannot handle Apple Intermediate Codec :


    [Command 0]
    [Command 0] --> FFmpeg version git-35d7d6f, Copyright (c) 2000-2011 the FFmpeg developers
    [Command 0] --> built on Mar 11 2011 10:32:52 with gcc 4.0.1 (Apple Inc. build 5465)
    [Command 0] --> configuration: --disable-ffplay --disable-ffserver --enable-gpl --enable-pthreads --enable-version3 --enable-libmp3lame --enable-libx264 --enable-avfilter --enable-libxvid --enable-libfaac --enable-nonfree --enable-swscale --enable-postproc --enable-libtheora --enable-libvorbis --enable-filters --enable-runtime-cpudetect --disable-doc --enable-static --disable-shared
    [Command 0] --> libavutil 50. 39. 0 / 50. 39. 0
    [Command 0] --> libavcodec 52.113. 2 / 52.113. 2
    [Command 0] --> libavformat 52.102. 0 / 52.102. 0
    [Command 0] --> libavdevice 52. 2. 3 / 52. 2. 3
    [Command 0] --> libavfilter 1. 76. 0 / 1. 76. 0
    [Command 0] --> libswscale 0. 12. 0 / 0. 12. 0
    [Command 0] --> libpostproc 51. 2. 0 / 51. 2. 0
    [Command 0] --> Seems stream 0 codec frame rate differs from container frame rate: 2997.00 (2997/1) -> 29.97 (2997/100)
    [Command 0] --> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/Bear01/to encode/Control.mov':
    [Command 0] --> Metadata:
    [Command 0] --> major_brand : qt
    [Command 0] --> minor_version : 537199360
    [Command 0] --> compatible_brands: qt
    [Command 0] --> creation_time : 2011-03-18 00:47:31
    [Command 0] --> Duration: 00:43:33.74, start: 0.000000, bitrate: 67304 kb/s
    [Command 0] --> Stream #0.0(eng): Video: Apple Intermediate Codec, 1920x1080, 65757 kb/s, 29.97 fps, 29.97 tbr, 2997 tbn, 2997 tbc
    [Command 0] --> Metadata:
    [Command 0] --> creation_time : 2011-03-18 00:47:31
    [Command 0] --> Stream #0.1(eng): Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
    [Command 0] --> Metadata:
    [Command 0] --> creation_time : 2011-03-18 00:47:31
    [Command 0] --> Stream #0.2(eng): Data: tmcd / 0x64636D74
    [Command 0] --> Metadata:
    [Command 0] --> creation_time : 2011-03-18 01:14:09
    [Command 0] ==============================
    [Command 0] | Command ran in 0 seconds
    [Command 0] ==============================

    • cmarrin

      Yeah, I haven’t gotten to that one yet. Where are you getting media in that format, anyway? I’m curious about your toolchain

  • Pingback: Video Monkey 0.10 for Video Conversion – Looks Good! | DigitalHalon.Com

  • Casemon

    is this tip still valid in v0.10?
    https://sourceforge.net/projects/videomonkey/forums/forum/884113/topic/3295067/index/page/1

    Asking, as I’ve switched to using an intel i3 CPU based mac and am seeing much longer compress times compared to a 3yr old macbook pro with an Intel core 2 duo CPU.

    • cmarrin

      It should now all be automatic. Can you send me the console output from a sample encoding on both machines?

  • Casemon

    Also 2nd question, is the 2nd Gen Apple TV preset supposed to be upscaling everything?

    Example: I have a 624×336 source video and using VM to convert with the 2nd Gen Apple TV preset upscales it to 1280×688.

    Thought that files were only downscaled the video if too large for the target profile, not upscaled. 2nd Gen ATV plays videos at less than 720p too.

    Otherwise what is the purpose? Upscaled video tends to look horrible + the file is bigger than need be… lose-lose.

    • Casemon

      Had “limit output parmas to input” disabled. Enabling it doesn’t upscale the source.

      Is it “safe” to use this feature enabled? Will the resulting files still be iTunes compatible?

      • cmarrin

        Ha, I should have read your message before posting a reply to the last one. As far as I know, as long as you don’t attempt to use a size that is too big for the given device, there is not Apple device that has trouble with any frame size.

    • cmarrin

      It should only upscale if you don’t have “Limit output params to input” checked. If so, please file a bug

  • videoape

    first of all, congratulations cmarrin. videomonkey is great! love it! it could definitely use some custom settings, but im sure you are looking at it.

    i came across a problem i wasn’t having before with some specific files.
    im recording my screen using fraps on windows, then sending the files to the mac to convert with videomonkey and edit on premiere pro.
    this workflow was flawless until today, when the last 4 videos i captured gave me this error when trying to convert. if i try to convert the video to a .avi it doesnt give the error. so i guess its something with the DV encoding.
    also, i tried converting these 4 files with handbrake and then converting to DV with videomonkey. but when i press start on videomonkey i get a error too. so no use converting in handbrake first.

    thanks in advance

    ============================================================================
    Begin transcode: part003.avi –> part003.dv
    [Command 0]
    [Command 0] Command to execute:
    [Command 0] “/Applications/VideoMonkey64bit.app/Contents/Resources/bin/ffmpeg” -threads 8 -y -i “/Volumes/project/part003.avi” -s 720×480 -aspect 3:2 -r 29.97 -vcodec dvvideo -b 1843000 -pix_fmt yuv411p -async 50 -acodec pcm_s16le -ac 2 -ab 48000 -pass 1 -passlogfile “/tmp/0x5c9000-tmppass.log” “/Volumes/project/part003.dv”
    [Command 0]
    [Command 0] –> FFmpeg version git-svn-r26373, Copyright (c) 2000-2011 the FFmpeg developers
    [Command 0] –> built on Jan 25 2011 10:48:37 with gcc 4.2.1 (Apple Inc. build 5664)
    [Command 0] –> configuration: –disable-ffplay –disable-ffserver –enable-gpl –enable-pthreads –enable-version3 –enable-libmp3lame –enable-libx264 –enable-avfilter –enable-libxvid –enable-libfaac –enable-nonfree –enable-swscale –enable-postproc –enable-libtheora –enable-libvorbis –enable-filters –enable-runtime-cpudetect –arch=x86 –disable-doc –enable-static –disable-shared
    [Command 0] –> libavutil 50.36. 0 / 50.36. 0
    [Command 0] –> libavcore 0.16. 1 / 0.16. 1
    [Command 0] –> libavcodec 52.108. 0 / 52.108. 0
    [Command 0] –> libavformat 52.93. 0 / 52.93. 0
    [Command 0] –> libavdevice 52. 2. 3 / 52. 2. 3
    [Command 0] –> libavfilter 1.73. 2 / 1.73. 2
    [Command 0] –> libswscale 0.12. 0 / 0.12. 0
    [Command 0] –> libpostproc 51. 2. 0 / 51. 2. 0
    [Command 0] –> Input #0, avi, from ‘/Volumes/project/part003.avi’:
    [Command 0] –> Duration: 00:14:27.23, start: 0.000000, bitrate: 39490 kb/s
    [Command 0] –> Stream #0.0: Video: fraps, yuvj420p, 640×480, 30 fps, 30 tbr, 30 tbn, 30 tbc
    [Command 0] ==============================
    [Command 0] | Command ran in 0 seconds
    [Command 0] ==============================
    [Command 1]
    [Command 1] Command to execute:
    [Command 1] “/Applications/VideoMonkey64bit.app/Contents/Resources/bin/ffmpeg” -threads 8 -y -i “/Volumes/project/part003.avi” -s 720×480 -aspect 3:2 -r 29.97 -vcodec dvvideo -b 1843000 -pix_fmt yuv411p -async 50 -acodec pcm_s16le -ac 2 -ab 48000 -pass 2 -passlogfile “/tmp/0x5c9000-tmppass.log” “/Volumes/project/part003.dv”
    [Command 1]
    [Command 0] –> Stream #0.1: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
    [Command 0] –> [buffer @ 0x102301170] w:640 h:480 pixfmt:yuvj420p
    [Command 0] –> [scale @ 0x102301480] w:640 h:480 fmt:yuvj420p -> w:720 h:480 fmt:yuv411p flags:0×4
    [Command 0] –> [dv @ 0x103000000] Can’t initialize DV format!
    [Command 0] –> Make sure that you supply exactly two streams:
    [Command 0] –> video: 25fps or 29.97fps, audio: 2ch/48kHz/PCM
    [Command 0] –> (50Mbps allows an optional second audio stream)
    [Command 0] –> Output #0, dv, to ‘/Volumes/project/part003.dv’:
    [Command 0] –> Metadata:
    [Command 0] –> encoder : Lavf52.93.0
    [Command 0] –> Stream #0.0: Video: dvvideo, yuv411p, 720×480 [PAR 1:1 DAR 3:2], q=2-31, pass 1, 1843 kb/s, 90k tbn, 29.97 tbc
    [Command 0] –> Stream #0.1: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
    [Command 0] –> Stream mapping:
    [Command 0] –> Stream #0.0 -> #0.0
    [Command 0] –> Stream #0.1 -> #0.1
    [Command 0] –> Could not write header for output file #0 (incorrect codec parameters ?)
    [Command 1] –> FFmpeg version git-svn-r26373, Copyright (c) 2000-2011 the FFmpeg developers
    [Command 1] –> built on Jan 25 2011 10:48:37 with gcc 4.2.1 (Apple Inc. build 5664)
    [Command 1] –> configuration: –disable-ffplay –disable-ffserver –enable-gpl –enable-pthreads –enable-version3 –enable-libmp3lame –enable-libx264 –enable-avfilter –enable-libxvid –enable-libfaac –enable-nonfree –enable-swscale –enable-postproc –enable-libtheora –enable-libvorbis –enable-filters –enable-runtime-cpudetect –arch=x86 –disable-doc –enable-static –disable-shared
    [Command 1] –> libavutil 50.36. 0 / 50.36. 0
    [Command 1] –> libavcore 0.16. 1 / 0.16. 1
    [Command 1] –> libavcodec 52.108. 0 / 52.108. 0
    [Command 1] –> libavformat 52.93. 0 / 52.93. 0
    [Command 1] –> libavdevice 52. 2. 3 / 52. 2. 3
    [Command 1] –> libavfilter 1.73. 2 / 1.73. 2
    [Command 1] –> libswscale 0.12. 0 / 0.12. 0
    [Command 1] –> libpostproc 51. 2. 0 / 51. 2. 0
    [Command 1] ==============================
    [Command 1] | Command ran in 0 seconds
    [Command 1] ==============================
    FAILED with error code: 1
    [Command 1] –> Input #0, avi, from ‘/Volumes/project/part003.avi’:
    [Command 1] –> Duration: 00:14:27.23, start: 0.000000, bitrate: 39490 kb/s
    [Command 1] –> Stream #0.0: Video: fraps, yuvj420p, 640×480, 30 fps, 30 tbr, 30 tbn, 30 tbc
    [Command 1] –> Stream #0.1: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
    [Command 1] –> [buffer @ 0x102701130] w:640 h:480 pixfmt:yuvj420p
    [Command 1] –> [scale @ 0x102701440] w:640 h:480 fmt:yuvj420p -> w:720 h:480 fmt:yuv411p flags:0×4
    [Command 1] –> [dv @ 0x103000000] Can’t initialize DV format!
    [Command 1] –> Make sure that you supply exactly two streams:
    [Command 1] –> video: 25fps or 29.97fps, audio: 2ch/48kHz/PCM
    [Command 1] –> (50Mbps allows an optional second audio stream)
    [Command 1] –> Output #0, dv, to ‘/Volumes/project/part003.dv’:
    [Command 1] –> Metadata:
    [Command 1] –> encoder : Lavf52.93.0
    [Command 1] –> Stream #0.0: Video: dvvideo, yuv411p, 720×480 [PAR 1:1 DAR 3:2], q=2-31, pass 2, 1843 kb/s, 90k tbn, 29.97 tbc
    [Command 1] –> Stream #0.1: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
    [Command 1] –> Stream mapping:
    [Command 1] –> Stream #0.0 -> #0.0
    [Command 1] –> Stream #0.1 -> #0.1
    [Command 1] –> Could not write header for output file #0 (incorrect codec parameters ?)

  • TheQL

    Hi there. I have noticed for some time now that there might have been a change in ffmpeg’s default parameters, as converting files, even cartoons, to iPhone with WiFi quality and fastest encoding speed is full of artifacts, which hasn’t been that bad before. For a quick and dirty convert of TV episodes I didn’t intend to archive these settings have always been sufficient in the past.

  • ssj

    hello! have heard much about visualhub, and i recently saw a post directing me to VM. i haven’t found much documentation re: VM’s features, so please forgive me if i’ve landed on the wrong island.

    what i’m looking for: a program that will take my 1920×800 mp4 file and a sub file (.ass or .ssa) and then output hard subs to an mp4 of the same dimensions.

    i purchased submerge by bitfield for a smaller project, and it worked fine. but this time i need some of my subs in italics, one line of subs in a smaller font size, and submerge “flattens” all these specifications, i.e., all the italics are gone (although i could choose all the text to be in italics, which is also undesirable), and makes all the text the same size.

    please let me know if VM is the software i’m looking for, and i’ll be much obliged! (in the “i’ll donate to the project” kind of way)

    thanks in advance for the reply.

  • http://www.scarehaven.com Crash Burn

    Video Monkey is great, but there is one thing Visualhub has that i use a lot. Creating a dvd image (.iso). Will you have that feature soon because with lion on the way I don’t know if the hub will still work right. And if u have that feature in the future will it be as fast as the hub. reason is I do a lot of home videos of family & horror spoofs and there isn’t a program out there that can touch the speed of the hub. I can make an .iso of a 3 hour video in 50 min. anything else would take the length of the video. Thanks for your time & thank you for taking on the visual hub project.

  • cmarrin

    That is certainly on the list, along with stitching videos, another sorely missed feature from Visual Hub. I plan to get back to some VM development soon, so these things could be on the list. It would be helpful if you could add a feature request to https://github.com/cmarrin/videomonkey/issues.

  • davidbryen

    I’m new here, but I used to use VH a lot.

    Why when I drop my 1920×1080 file, it makes it smaller, 720×400? I would like to make a full HD export.

    thanks

    davidbryen

  • cmarrin

    This is happening because of your current output device choice. I believe you should be able to get full resolution if you choose the MPEG-4 device in the Video section of the menu. Let me know if not

  • davidbryen

    The file seems to shrink, no mater what output device I choose. I tried MPEG4. I would like to make a WMV at 1920×1080. The biggest I can get is 720X400. Does video monkey not support full HD res?

    db

  • texjer

    Yup, same here, the monkey likes to shrink my video size. Usually I don’t mind because I’m trying to reduce in every way, but not today.

    Okay, hoping hoping hoping for an update. I put five bucks in your wishing well.

  • cmarrin

    I’m working on fixing that. Apple devices, and several other video devices like MPEG-1/2 and DV have restrictions. But MPEG-4 and others don’t.

  • WillA

    After upgrading to lion Video Monkey is unable to covert using the two pass encoding.

  • cmarrin

    Hmm. That’s odd. I’ve tested it and all seems well. Please open a bug at http://bugs.marrin.org and add in the contents of the console log.

  • Joe

    Hello