pyTivo Discussion Forum Forum Index pyTivo Discussion Forum
Answers and the development of pyTivo a TiVo transcoding server
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

FFmpeg Builds for Mac OS X
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    pyTivo Discussion Forum Forum Index -> Support
 View previous topic :: View next topic  
Author Message
Iluvatar



Joined: 29 Feb 2008
Posts: 310

PostPosted: Fri Aug 05, 2011 4:31 pm    Post subject: FFmpeg Builds for Mac OS X Reply with quote

*** These builds do not work on PPC Macs or Intel Macs with OS X 10.5. See below.***

==Updated 3/31/12== FFmpeg 0.10.2 binary added*

As other available FFmpeg builds for OS X have become out of date I have compiled a recent static build that I can distribute. Attached are FFmpeg builds for Intel Mac's to use with pyTivo. This build has been stripped down of all external encoders (except x264) and unusual external decoders in order to conserve on size. The build is optimized for use with pyTivo or similar tools such as StreamBaby. It should be able to decode just about anything you can throw at it. I have tested it against my library of videos with various codecs. I will make an attempt to keep this updated on a regular basis.

At a minimum this will work with all 64 bit Core2Duo and above processors running 10.6 and above. The current build is 64bit only. An older build, 0.8.6, is still attached below and is a Universal build that should still work with the 32 bit Intel Core Duo. If you are running an Intel Mac with 10.5 or you have a PPC CPU then I recommend using Rdian06's builds for older Macs.

The only patch I have applied (only up to my 0.8.10 release) is related to the 'non-monotone timestamp' errors that prevent some MKV files from being remuxed into MP4. This is attached. I know Rdian06 had other patches but FFmpeg has come along way since the last Rdian06 release and I do not know if any of the other patches are needed any longer. If you feel otherwise let me know I will look into it.

Feedback is most welcome.

Please ensure you are using the latest pyTivo snapshot before downloading: http://pytivo.sourceforge.net/wiki/index.php/Current_Releases

----------
*About FFmpeg 0.9+ - Older pyTivo code is not completely able to use the newer versions of FFmpeg as there was an API change. The FFmpeg output is slightly different which prevent pyTivo from working correctly. You must update your pyTivo installation to ensure complete compatibility with new builds.

An experimental FFmpeg 0.10.2 is posted here.

All stable builds are below.

----------
Instructions:
Extract the downloaded file, place in your pyTivo directory and make sure that the path to FFmpeg in your pyTivo.conf configuration file is pointed at the right place. (Ex: ffmpeg = /Applications/pyTivo/bin/ffmpeg)


Current Stable:
=============
FFmpeg 0.8.10 - 64 bit only
Sources used: http://ffmpeg.org/releases/ffmpeg-0.8.10.tar.gz

Code:

ffmpeg version 0.8.10-pytivo, Copyright (c) 2000-2011 the FFmpeg developers
  built on Jan 25 2012 17:13:22 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)
  configuration: --prefix=/opt/local --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libx264 --mandir=/opt/local/share/man --cc=/opt/local/bin/gcc-apple-4.2 --arch=x86_64 --enable-yasm --disable-shared --enable-static --enable-pthreads --enable-runtime-cpudetect --enable-hardcoded-tables
  libavutil    51.  9. 1 / 51.  9. 1
  libavcodec   53.  8. 0 / 53.  8. 0
  libavformat  53.  5. 0 / 53.  5. 0
  libavdevice  53.  1. 1 / 53.  1. 1
  libavfilter   2. 23. 0 /  2. 23. 0
  libswscale    2.  0. 0 /  2.  0. 0
  libpostproc  51.  2. 0 / 51.  2. 0


Intel x86 32bit compatible:
=============
FFmpeg 0.8.6 - Universal
Sources used: http://ffmpeg.org/releases/ffmpeg-0.8.6.tar.gz

Code:

ffmpeg version 0.8.6-pytivo, Copyright (c) 2000-2011 the FFmpeg developers
  built on Nov  5 2011 14:28:08 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)
  configuration: --prefix=/opt/local --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libx264 --mandir=/opt/local/share/man --cc=/usr/bin/gcc-4.2 --disable-shared --enable-static --enable-pthreads --enable-runtime-cpudetect --enable-hardcoded-tables --arch=x86_64 --enable-yasm
  libavutil    51.  9. 1 / 51.  9. 1
  libavcodec   53.  7. 0 / 53.  7. 0
  libavformat  53.  4. 0 / 53.  4. 0
  libavdevice  53.  1. 1 / 53.  1. 1
  libavfilter   2. 23. 0 /  2. 23. 0
  libswscale    2.  0. 0 /  2.  0. 0
  libpostproc  51.  2. 0 / 51.  2. 0


Older builds have been deleted to keep thread clean. I do keep them backed up, so if you need one just request.



ffmpeg_mac-0.8.10-x64.zip
 Description:
Version: 0.8.10 - 64 bit only
Uploaded: January 27, 2012

Download
 Filename:  ffmpeg_mac-0.8.10-x64.zip
 Filesize:  4.59 MB
 Downloaded:  207 Time(s)


ffmpeg_mac-0.8.6.zip
 Description:
Version: 0.8.6 - Universal
Uploaded: November 05, 2011

Download
 Filename:  ffmpeg_mac-0.8.6.zip
 Filesize:  9.11 MB
 Downloaded:  149 Time(s)


patch-non-monotone.diff.txt
 Description:
'non-monotone timestamp' patch applied to FFmpeg sources up to the 0.8.10 release

Download
 Filename:  patch-non-monotone.diff.txt
 Filesize:  649 Bytes
 Downloaded:  20 Time(s)


_________________
My pyTivo fork - Read link for changes
FFmpeg for OS X


Last edited by Iluvatar on Sun Apr 29, 2012 9:14 pm; edited 69 times in total
Back to top
View user's profile Send private message
cweb



Joined: 19 Sep 2011
Posts: 16

PostPosted: Mon Sep 19, 2011 4:45 pm    Post subject: Reply with quote

Have you updated your builds recently?
Back to top
View user's profile Send private message
Iluvatar



Joined: 29 Feb 2008
Posts: 310

PostPosted: Mon Sep 19, 2011 6:01 pm    Post subject: Reply with quote

cweb wrote:
Have you updated your builds recently?


I have not however will probably do so this week. There have been a couple downloads but I have not received any feedback so I do not know if the builds even work for anyone else. This was my first go at trying to make a static build with MacPorts.

There have also been some architectural changes in FFmpeg GIT that may not be backwards compatible with the current pyTivo snapshots, specifically with the way stream id's are selected. I haven't tested these yet. However in the interim I can at least release a FFmpeg 0.8 version which should work just fine.
Back to top
View user's profile Send private message
Iluvatar



Joined: 29 Feb 2008
Posts: 310

PostPosted: Mon Sep 19, 2011 11:23 pm    Post subject: Reply with quote

I have uploaded a new build based on the FFmpeg 0.8.3 release. Please let me know how it works for you.
_________________
My pyTivo fork - Read link for changes
FFmpeg for OS X
Back to top
View user's profile Send private message
cweb



Joined: 19 Sep 2011
Posts: 16

PostPosted: Wed Oct 26, 2011 6:54 pm    Post subject: Reply with quote

This build did not work for me.
Back to top
View user's profile Send private message
Iluvatar



Joined: 29 Feb 2008
Posts: 310

PostPosted: Wed Oct 26, 2011 7:03 pm    Post subject: Reply with quote

cweb wrote:
This build did not work for me.


Any specifics? Did the first build? What type of processor does your Mac have?

I have been running the build on my machine (Intel Core2Duo) since I posted this without issue. It seems to have been downloaded many times. While there is no feedback that has been left I would have to assume that it has worked for others.

I was going to put up build 0.8.5 but it looks like they may push out 0.8.6 in a week or two so I may just wait until then.

If you can post any error output from running my FFmpeg build at the console that would be helpful. If I can figure out what is going wrong I will go ahead and post a new build.
Back to top
View user's profile Send private message
cweb



Joined: 19 Sep 2011
Posts: 16

PostPosted: Wed Oct 26, 2011 7:55 pm    Post subject: Reply with quote

I had a brain cramp and tested it with my older snow leopard machine. I'll check next week (lion machine temporarily unavailable) and see how it works there. I'll let you know.

What was your recipe for compiling it?
Back to top
View user's profile Send private message
Iluvatar



Joined: 29 Feb 2008
Posts: 310

PostPosted: Wed Oct 26, 2011 8:21 pm    Post subject: Reply with quote

cweb wrote:
I had a brain cramp and tested it with my older snow leopard machine. I'll check next week (lion machine temporarily unavailable) and see how it works there. I'll let you know.


The build posted was compiled using Lion so that may account for some issues with Snow Leopard. I had not thought about that.

Can you post the FFmpeg output from your Snow Leopard machine so I can see if the Lion compiler is incompatible?

Quote:

What was your recipe for compiling it?


Rather convoluted but involved MacPorts and me manually editing each dependent port file that FFmpeg relies on to build statically and with Universal support. Then I edited the FFmpeg port file to add patch and add/delete libs to reduce size. Takes about 30 min to setup.

I have some shorthand notes I can post if you want but it would probably look like nonsense to anyone but me. Laughing

I may have to start manually compiling FFmpeg without MacPorts if there is an issue with Snow Leopard compatibility.
Back to top
View user's profile Send private message
cweb



Joined: 19 Sep 2011
Posts: 16

PostPosted: Wed Oct 26, 2011 8:50 pm    Post subject: Reply with quote

Yea...was hoping to use it to have an updated version for my snow leopard machine too.

In theory will your compiled version of .86/.86 have support for multiple threads?
Back to top
View user's profile Send private message
Iluvatar



Joined: 29 Feb 2008
Posts: 310

PostPosted: Wed Oct 26, 2011 9:57 pm    Post subject: Reply with quote

cweb wrote:
Yea...was hoping to use it to have an updated version for my snow leopard machine too.


Can you post the FFmpeg output from your Snow Leopard machine so I can see the error messages? I can't provide any updated builds without knowing what the exact error was.

Quote:

In theory will your compiled version of .86/.86 have support for multiple threads?


In the fashion that pyTivo has utilized multiple threads (mpeg encoding)....FFmpeg has been capable of this since at least 0.5. However the FFmpeg-MT was officially merged with trunk earlier this year providing full multi-threaded decode and encode capabilities for many codecs and my 0.8.x builds do contain this code but pyTivo does not make use of it.
Back to top
View user's profile Send private message
Iluvatar



Joined: 29 Feb 2008
Posts: 310

PostPosted: Fri Oct 28, 2011 2:35 am    Post subject: Reply with quote

cweb wrote:
Yea...was hoping to use it to have an updated version for my snow leopard machine too.


I just installed Snow Leopard 10.6.8 in a virtual machine to test this and I am receiving no errors. Tested just fine. Again this is a 64bit Intel Core2Duo CPU I am testing on.

What is your CPU type?
Back to top
View user's profile Send private message
Iluvatar



Joined: 29 Feb 2008
Posts: 310

PostPosted: Sun Nov 06, 2011 1:33 am    Post subject: Reply with quote

I have uploaded my latest build. Based on FFmpeg 0.8.6.
Back to top
View user's profile Send private message
cweb



Joined: 19 Sep 2011
Posts: 16

PostPosted: Sun Nov 13, 2011 8:02 am    Post subject: Reply with quote

I tried to get your your FFmpeg 0.8.6 to work on my pytivo with snow leopard ... no luck. I sure it is something I am doing wrong, but I am not sure what.

I have the latest pytivo. I've updated ffmpeg versions before, but the compiled versions were ffmpeg.bin with dynamic libraries. I replaced the ffmpeg.bin & libraries with your version ... no luck. I added the suffix .bin .... no luck.

Any ideas how I should correctly install it?
Back to top
View user's profile Send private message
Iluvatar



Joined: 29 Feb 2008
Posts: 310

PostPosted: Mon Nov 14, 2011 6:37 pm    Post subject: Reply with quote

cweb wrote:
I tried to get your your FFmpeg 0.8.6 to work on my pytivo with snow leopard ... no luck. I sure it is something I am doing wrong, but I am not sure what.

I have the latest pytivo. I've updated ffmpeg versions before, but the compiled versions were ffmpeg.bin with dynamic libraries. I replaced the ffmpeg.bin & libraries with your version ... no luck. I added the suffix .bin .... no luck.

Any ideas how I should correctly install it?


Install instructions are to extract the ffmpeg binary anywhere you wish (pyTivo folder is easiest though) and then edit your pyTivo.conf file to point to the new ffmpeg. No extension necessary.

Can you open the ffmpeg binary using the OS X Terminal app? Just type "/path/to/ffmpeg -i" and it should load the version and compile info.

I have a feeling that your configuration is just pointing to the old ffmpeg or an incorrect path. Post your pyTivo.conf file contents if you want.
Back to top
View user's profile Send private message
cweb



Joined: 19 Sep 2011
Posts: 16

PostPosted: Tue Nov 15, 2011 6:26 am    Post subject: Reply with quote

Since I couldn't get pytivo to work with your ffmpeg. I mucked around and compiled my own version using 0.86 and your configuration options. Did the same steps as above. I took the resulting ffmpeg, added the .bin suffix (could have also removed the .bin from the pathname in pytivo.conf). Vola! It worked. First compile ever. It would be great if I knew why it worked. Our files should be similar. Same configure options. Same main libraries. Perhaps the compile environment was the difference.

Also, I didn't apply the 'non-monotone timestamp' since I don't know how. Did you apply it to the 0.86 ffmpeg? How do you do it?

My environment is a 8 core Mac Pro running Snow Leopard.

All thoughts would be appreciated.

pytivo.conf
[_tivo_SD]

[Brothers and Sisters]
force_alpha = true
type = video
path = /Volumes/Drobo51/TiVoShows/Brothers and Sisters

[Admin]
type = admin

[Server]
tivo_password = xxxxx
ffmpeg = /Applications/pyTivoX.app/Contents/Resources/ffmpeg.bin
beacon = 192.168.1.255
debug = True
tivo_username = xxxxx@ameritech.net

[_tivo_HD]

[Tivo Share]
force_alpha = true
type = video
path = /Volumes/Drobo51/TiVoShows


Last edited by cweb on Fri Nov 18, 2011 2:54 pm; edited 2 times in total
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    pyTivo Discussion Forum Forum Index -> Support All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
Site is in NO WAY affiliated with TiVo Inc

Powered by phpBB © 2001, 2005 phpBB Group
phpBB SEO

Get pytivo at SourceForge.net. Fast, secure and Free Open Source software downloads
[ Time: 0.5533s ][ Queries: 14 (0.2399s) ][ GZIP on - Debug on ]