12-12-2008, 01:16 AM
For fun/educational purposes, I'm porting TivoServer to .NET/C#. I can use any standard FFMPEG to convert to MPG (no matter how they change it in the future), but I'm interested in trying to learn how to do a direct streaming MPG->TY conversion if possible. I'm a video neophyte; do you suggest that I look at your patch here for instruction, or can you suggest any additional resources?
07-05-2009, 06:37 PM
Here's a version of TY+FFMPEG built against SVN-19344
Because file upload doesn't seem to be working for me, I've placed this in the following public SkyDrive folder:
Because it's built against MSys and statically linked, it requires no additional supporting binaries of any kind. Just the executable, and you're home free.
09-15-2010, 10:28 PM
Updated the ty-ffmpeg patch for ffmpeg 0.6, which brings faster (native) AAC (and now HE-AAC) decoding, faster H.264 decoding, and various bugfixes. See the release notes. For those coming from pre-0.5 versions, AC3 has also been native for a while.
Thanks to bcc & nova1 for their hard work, and DancingChicken for the previous patch. (Yes, this ffmpeg works with his WinTivoServer.)
1. wget http://www.ffmpeg.org/releases/ffmpeg-0.6.tar.gz
2. tar xzvf ffmpeg-0.6.tar.gz
3. cd ffmpeg-0.6
4. patch -p1 < ffmpeg0.6-ty1.9.patch.txt
5. ./configure --enable-gpl --enable-static --disable-shared --enable-memalign-hack --enable-avfilter --enable-avfilter-lavf --enable-w32threads --enable-avisynth
Those last two configure flags are obviously Windows-specific. For Linux multi-threading, use --enable-pthreads instead.
Tested on the latest MinGW GCC 4.5. I used the automated installer (mingw-get-inst-2010909) with C++, MSYS Basic, and MinGW Developer Toolkit checked and it compiled cleanly.
I haven't tried it in Linux yet, report any issues.
Uploaded the Windows binaries to Megaupload since they were too big for the forum. As previously mentioned, compiled in MinGW (no support DLLs required) with multithreading support (i.e.: tyffmpeg -threads 2 -i "video.avi" -vcodec mpeg2video -b 3000k -acodec mp2 -ab 192k "video.ty").
Download link: ffmpeg0.6-ty1.9-mingw-win32-bin.zip
Last edited by drez; 09-15-2010 at 11:16 PM.
04-12-2012, 03:30 AM
Does anyone have the latest build of this? I don't have a windows build environment set up. Seems like ac3 decoding is broke:
P:\tymux>ffmpeg -i p:\Memory-Nakagawa_SIGGRAPH_94.mpg -vcodec copy -acodec mp2 -
ab 192k Memory-Nakagawa_SIGGRAPH_94_S1.ty
FFmpeg version SVN-r9509, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-liba52 --disable-v4l --disable-dv1394 --d
isable-ffplay --disable-ffserver --enable-avisynth
libavutil version: 49.4.1
libavcodec version: 51.40.4
libavformat version: 51.12.1
built on Jul 23 2007 14:30:18, gcc: 3.4.4 (cygming special, gdc 0.12, using dm
Input #0, mpeg, from 'p:\Memory-Nakagawa_SIGGRAPH_94.mpg':
Duration: 00:02:54.2, start: 0.201367, bitrate: 6749 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480, 7700 kb/s, 29.97 fps(
Stream #0.1[0x80]: Audio: 0x0000, 48000 Hz, stereo, 192 kb/s
File 'Memory-Nakagawa_SIGGRAPH_94_S1.ty' already exists. Overwrite ? [y/N] y
Output #0, ty, to 'Memory-Nakagawa_SIGGRAPH_94_S1.ty':
Stream #0.0: Video: mpeg2video, yuv420p, 720x480, q=2-31, 7700 kb/s, 29.97 fps
Stream #0.1: Audio: mp2, 48000 Hz, stereo, 192 kb/s
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Unsupported codec (id=86020) for input stream #0.1
04-20-2012, 03:37 PM
I downloaded MinGW and ffmpeg 0.6 with 1.9 patch built fine. It seems to do a better job than the older version I was using, less sync issues. I have a Series 1 DirecTiVo I still use, and any mpeg I used so far seems to work, with maybe some minor stuttering, more so with ac3 audio. I have a Series 1 Standalone that plays converted files fine, except it has to be mp2, there is no built in ac3 decoder. In trying some DVDs, I tried one but ffmpeg gives me an error once it reaches 2GB and won't continue on. The error has to do with lseek, I'll post it when I run it again. It's as if ffmpeg is trying to write 2GB is the limit, so it doesn't work well for a full DVD. Anyone else have this issue?
12-20-2012, 07:14 PM
Has anybody ported this to 0.7 yet?
02-22-2013, 05:09 PM
Help with error in unknown version
Normal completion looks like this:
frame=202117 fps=582 q=2.0 size= 2090496kB time=6737.11 bitrate=2541.9kbits/s
frame=202403 fps=582 q=2.0 size= 2092928kB time=6746.69 bitrate=2541.3kbits/s
frame=202673 fps=582 q=2.0 size= 2095744kB time=6755.66 bitrate=2541.3kbits/s
Enter copy finish
Rebuilding master chunks
Generating master chunk for chunks 0:4095
Generating master chunk for chunks 4096:8191
Generating master chunk for chunks 8192:12287
Generating master chunk for chunks 12288:16376
Successfully modified existing XML
frame=202803 fps=508 q=2.0 Lsize= 2096386kB time=6760.07 bitrate=2540.4kbits/s
video:2025395kB audio:52818kB global headers:0kB muxing overhead 0.874493%
Now experiencing this error:
frame=222939 fps=690 q=2.0 size= 2074368kB time=7431.19 bitrate=2286.7kbits/s
frame=223214 fps=690 q=2.0 size= 2078848kB time=7440.38 bitrate=2288.8kbits/s
frame=223483 fps=690 q=2.0 size= 2083328kB time=7449.36 bitrate=2291.0kbits/s
frame=223743 fps=690 q=2.0 size= 2088576kB time=7458.00 bitrate=2294.1kbits/s
frame=223996 fps=689 q=2.0 size= 2094208kB time=7466.42 bitrate=2297.7kbits/s
System error string: Invalid argument
error: lseek failed
IM Using this version .... whatever it is ?:
FFmpeg version UNKNOWN, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-memalign-hack --extra-cflags=-fno-common --enable-gpl --enable-w32threads --enable-runtime-cpudetect
libavutil 50. 3. 0 / 50. 3. 0
libavcodec 52.32. 0 / 52.32. 0
libavformat 52.36. 0 / 52.36. 0
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0. 7. 1 / 0. 7. 1
built on Jul 4 2009 13:00:23, gcc: 3.4.5 (mingw-vista special r3)
Can someone point me to a more up-to-date version, or help fix the error, THANKS
02-23-2013, 08:19 AM
use the most up to date ffmpeg you can to make a compatible .mpg. Use the ty enabled ffmpeg in the second post to convert to .ty. Works every time. perfect sync.
02-26-2013, 05:07 AM
ty enabled ffmpeg (Linux version) on a Mac?
I had the Linux version of ty enabled ffmpeg running on a Mac years ago but there must have been some library files or something I've lost along the way. I get a "cannot execute binary file" error.
Originally Posted by mikey
I'm placing this message here in case anybody runs across it someday who knows how to run ty enabled ffmpeg on a Mac.
04-23-2013, 03:32 AM
Looking for windows binary for ffmpeg to convert avi to ty. Please help all the above links are dead. Try the build in post 2 but has I/O error says file is corrtupt, does not matter what file i try.