Thanks for the reply!
My problem isn't limited to mp4. It occurs with *.mkv and *.avi as well. All video files have this issue, regardless of encoder used. I've got a few dozen test files to mess with, with a good mix of encoders. I'd like to think that at least some of them would be good, if it were an original encoding problem.
But, after looking at the log after trying a few videos, it looks like something is certainly wrong. Every video i try always has a line that looks like:
"Unknown duration for <name of video>. Unable to estimate transcoded size."
But, after doing a -v 1 with ffmpeg (to get more verbose output), i discovered that ffmpeg DOES know the duration, just that subsonic doesn't seem to pick up on it, or tries to pick up on it too early. (see quote below, emphasis mine)
Does subsonic determine video length separately from ffmpeg's determination of video length? Is there a setting or option i need to use to make subsonic use ffmpeg's duration?
[12/31/12 1:16:52 AM PST] WARN StreamController Unknown duration for aaf-courage.the.cowardly.dog.s02e02.curse.of.shirley. Unable to estimate transcoded size.
[12/31/12 1:16:52 AM PST] INFO PlayQueueInputStream knetic listening to "aaf-courage.the.cowardly.dog.s02e02.curse.of.shirley.avi"
[12/31/12 1:16:52 AM PST] DEBUG TranscodeInputStream Starting transcoder: [/var/subsonic/transcode/ffmpeg] [-ss] [0] [-i] [/t/shared/tv/Courage the Cowardly Dog/aaf-courage.the.cowardly.dog.s02e02.curse.of.shirley.avi] [-async] [30] [-b] [1000k] [-r] [23-.976] [-s] [480x360] [-ar] [44100] [-ac] [2] [-f] [flv] [-vcodec] [libx264] [-preset] [fast] [-threads] [0] [-g] [1] [-]
[12/31/12 1:16:52 AM PST] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) ffmpeg version 0.8.4-6:0.8.4-1, Copyright (c) 2000-2012 the Libav developers
[12/31/12 1:16:52 AM PST] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) built on Oct 22 2012 21:36:00 with gcc 4.7.2
[12/31/12 1:16:52 AM PST] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) *** THIS PROGRAM IS DEPRECATED ***
[12/31/12 1:16:52 AM PST] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
[12/31/12 1:16:52 AM PST] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Input #0, avi, from '/t/shared/tv/Courage the Cowardly Dog/aaf-courage.the.cowardly.dog.s02e02.curse.of.shirley.avi':
[12/31/12 1:16:52 AM PST] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Metadata:
[12/31/12 1:16:52 AM PST] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) encoder : VirtualDubMod 1.5.10.2 (build 2540/release)
[12/31/12 1:16:52 AM PST] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Duration: 00:21:49.28, start: 0.000000, bitrate: 1120 kb/s
[12/31/12 1:16:52 AM PST] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Stream #0.0: Video: mpeg4 (Advanced Simple Profile), yuv420p, 512x384 [PAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
[12/31/12 1:16:52 AM PST] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16, 125 kb/s
[12/31/12 1:16:52 AM PST] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) [buffer @ 0x16c0a60] w:512 h:384 pixfmt:yuv420p
[12/31/12 1:16:52 AM PST] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) [scale @ 0x16bfae0] w:512 h:384 fmt:yuv420p -> w:480 h:360 fmt:yuv420p flags:0x4