 |
pyTivo Discussion Forum Answers and the development of pyTivo a TiVo transcoding server
|
|
| Author |
Message |
950ash
Joined: 14 Aug 2008 Posts: 48
|
Posted: Wed Apr 07, 2010 10:23 pm Post subject: |
|
|
| So I tried some of my problem MKV's and it handled most of them so its a lot better but what I have seen is instead of failing the audio get out of synch. |
|
| Back to top |
|
 |
rdian06
Joined: 12 Apr 2008 Posts: 1420
|
Posted: Fri Apr 09, 2010 2:05 am Post subject: |
|
|
| 950ash wrote: | So I tried some of my problem MKV's and it handled most of them so its a lot better but what I have seen is instead of failing the audio get out of synch. |
Double check that your source is in sync and also make sure you do the transfer twice to make sure it wasn't a fluke occurrence.
The only file I've had audio sync issues with turned out to be present in the source. But then again my test set is small.
PM me details about the source and I can try to look into it. |
|
| Back to top |
|
 |
orangeboy
Joined: 14 Sep 2009 Posts: 74
|
Posted: Mon Apr 12, 2010 2:57 pm Post subject: |
|
|
Hi,
I'm having a sporadic problem with ffmpeg identifying the PAR/DAR for an h264/MP4 file. MediaInfo identifies the DAR as 16:9, while ffmpeg doesn't identify it at all.
MediaInfo results:
| Code: |
General
Complete name : \\Media-center\f drive on media-center\ToTivo\Downloaded\TV\<My TV Show>\<My TV Show>.S0?E0?.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 1.09 GiB
Duration : 43mn 30s
Overall bit rate : 3 594 Kbps
Encoded date : UTC 2010-04-09 13:12:35
Tagged date : UTC 2010-04-09 13:15:26
Writing application : mp4creator 1.6.1d
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 43mn 30s
Bit rate mode : Variable
Bit rate : 3 207 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Resolution : 8 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.116
Stream size : 998 MiB (89%)
Language : English
Encoded date : UTC 2010-04-09 13:12:35
Tagged date : UTC 2010-04-09 13:14:02
Audio
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Codec ID : ac-3
Duration : 43mn 30s
Bit rate mode : Constant
Bit rate : 384 Kbps
Channel(s) : channel0
Sampling rate : 0
Stream size : 119 MiB (11%)
Language : English
Encoded date : UTC 2010-04-09 13:15:19
Tagged date : UTC 2010-04-09 13:15:26
|
ffmpeg results:
| Code: | 2010-04-12 08:59:59,694 DEBUG pyTivo.video.transcode: ffmpeg output=FFmpeg version SVN-r19249-rdian06-0.99-win-x86_32, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --enable-memalign-hack --disable-debug --enable-hardcoded-tables --enable-runtime-cpudetect --enable-static --disable-shared --disable-ffserver --disable-ffplay --enable-gpl --enable-pthreads --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libgsm --enable-libx264 --enable-libschroedinger --enable-libfaad --enable-libxvid --disable-decoder=aac --enable-avisynth --enable-postproc --enable-avfilter --enable-avfilter-lavf
libavutil 50. 3. 0 / 50. 3. 0
libavcodec 52.32. 0 / 52.32. 0
libavformat 52.34. 0 / 52.34. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 0. 5. 0 / 0. 5. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Aug 22 2009 14:16:49, gcc: 4.4.0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x3de3e0]multiple edit list entries, a/v desync might occur, patch welcome
Seems stream 0 codec frame rate differs from container frame rate: 59.94 (60000/1001) -> 29.97 (30000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\\media-center\ToTivo\Downloaded\TV\<My TV Show>\<My TV Show>.S0?E0?.mp4':
Duration: 00:43:30.41, start: 0.000000, bitrate: 3594 kb/s
Stream #0.0(eng): Video: h264, yuv420p, 1280x720, 29.97 tbr, 29970 tbn, 59.94 tbc
Stream #0.1(eng): Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
At least one output file must be specified
|
I know the release I'm using is fairly old, but I don't know if this would be addressed in the newer releases. Thanks! |
|
| Back to top |
|
 |
rdian06
Joined: 12 Apr 2008 Posts: 1420
|
Posted: Sun Apr 25, 2010 1:18 am Post subject: |
|
|
orangeboy, I haven't had a chance to look into the PAR/DAR issue yet.
The fix for ffmpeg remuxing of AC3 in MKV has FINALLY been fixed in the ffmpeg trunk as of SVN r22926. So if you are compiling your own ffmpeg based on SVN r22926 or later, you don't need my matroskadec.c patch any more. (This is the fix for the issue that caused the AC3 sound tracks to skip intermittently for some MKV files.) |
|
| Back to top |
|
 |
philhu
Joined: 04 Jan 2008 Posts: 474
|
Posted: Mon Apr 26, 2010 2:05 pm Post subject: |
|
|
| Where do I get r22926 or later? |
|
| Back to top |
|
 |
Iluvatar
Joined: 29 Feb 2008 Posts: 335
|
Posted: Mon Apr 26, 2010 2:15 pm Post subject: |
|
|
| philhu wrote: | Where do I get r22926 or later? |
Build it from source. |
|
| Back to top |
|
 |
philhu
Joined: 04 Jan 2008 Posts: 474
|
Posted: Mon Apr 26, 2010 2:36 pm Post subject: |
|
|
Cool, I used to do the builds etc.
What tools, etc do I need to build it these days? I have MS technet!  |
|
| Back to top |
|
 |
rdian06
Joined: 12 Apr 2008 Posts: 1420
|
Posted: Mon Apr 26, 2010 5:32 pm Post subject: |
|
|
| philhu wrote: | Cool, I used to do the builds etc.
What tools, etc do I need to build it these days? I have MS technet!  |
Building it from source on Windows is pretty painful. Especially if you want to turn on all the extra libraries.
You need MSYS and MinGW to build the libraries and then ffmpeg. I learned how to do it from here:
http://ffmpeg.arrozcru.org/wiki/index.php?title=Main_Page
But the wiki hasn't been updated in a while and there are some new gotchas wrt to pthread support.
Unless there are specific patches you want to apply or you want to disable the internal aac decoder in favor of libfaad2 like I do, you're better off just downloading the latest unofficial autobuild from here:
http://ffmpeg.arrozcru.org/autobuilds/
Or just using my builds. |
|
| Back to top |
|
 |
rdian06
Joined: 12 Apr 2008 Posts: 1420
|
Posted: Mon Apr 26, 2010 5:48 pm Post subject: |
|
|
FYI, I've been experimenting with ffmpeg-mt builds again. I've been using a version of it for a few weeks now with good results.
The primary benefit is that x264 decoding can be multi-threaded, allowing increased CPU utilization on multi-core systems and 50%-100% improvements in transcode frames per second.
I found the trick is to use "-vsync 2 -threads 2" at the FRONT of the ffmpeg commandline before the "-i inputfile" so that it affects both the decoder and encoder (I had to hack my config.py and plugins/video/transcode.py to do this.) The -vsync 2 part disables an av sync routine that doesn't work properly in ffmpeg-mt. Although even faster transcode rates are possible by turning the threads up further, doing so will cause AV sync issues because the core ffmpeg code can't handle the decoder getting to more than one frame ahead of the encoder.
I hope to post an experimental ffmpeg-mt binary before the end of the week - after I talk to wmcbrine about the necessary changes to ffmpeg_prams. |
|
| Back to top |
|
 |
Iluvatar
Joined: 29 Feb 2008 Posts: 335
|
Posted: Mon Apr 26, 2010 7:49 pm Post subject: |
|
|
does ffmpeg-mt keep up with trunk changes?
However it does seem like mt will be merging with trunk fairly soon (in next 6mos) gauging by the discussions on threading in ffmpeg-devel. |
|
| Back to top |
|
 |
philhu
Joined: 04 Jan 2008 Posts: 474
|
Posted: Mon Apr 26, 2010 8:15 pm Post subject: |
|
|
Radian06 - Now thats good news
I have a new i7-940 processor and could use thread code to speed stuff up.
I'll help test if you'd like |
|
| Back to top |
|
 |
rdian06
Joined: 12 Apr 2008 Posts: 1420
|
Posted: Tue Apr 27, 2010 2:51 am Post subject: |
|
|
| Iluvatar wrote: | does ffmpeg-mt keep up with trunk changes?
However it does seem like mt will be merging with trunk fairly soon (in next 6mos) gauging by the discussions on threading in ffmpeg-devel. |
Yes, the maintainer of ffmpeg-mt semi-regularly pushes the changes from ffmpeg trunk into his git. See:
http://gitorious.org/ffmpeg/ffmpeg-mt
The plan is for ffmpeg-mt to eventually merge back into trunk, but there's a lot of work still to be done. Thankfully the parts we need for pyTivo seem to work well enough. |
|
| Back to top |
|
 |
metronomadic
Joined: 17 Nov 2010 Posts: 2
|
Posted: Thu Nov 18, 2010 12:04 am Post subject: |
|
|
| rdian06 wrote: | Linux Builds
When I get around to it...
Let me know what flavor of Linux you want a compile for and I'll try to do the more popular ones. No promises... |
I'd be thrilled to see something compatible with my Lacie Network Space 2 NAS compiled. More details on the environment / device here? Or maybe a newer compile for ARM using Debian Lenny, which I run as a chroot on this NAS? |
|
| Back to top |
|
 |
rdian06
Joined: 12 Apr 2008 Posts: 1420
|
Posted: Thu Nov 18, 2010 3:28 pm Post subject: |
|
|
Sure, if you wouldn't mind donating a device  |
|
| Back to top |
|
 |
metronomadic
Joined: 17 Nov 2010 Posts: 2
|
|
| Back to top |
|
 |
|
|
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
|
|