I've got tons of MP4 videos I have to convert. Most of them are MPEG-4 and I need them to be H.264 to be playable in the JW Player on a website. However, I'm having issues.

I haven't tested many, but a couple of the MP4 files I've tried converting stop early. Here's the beginning and end of the output from ffmpeg:
Code:
ffmpeg version N-40020-g9849515 Copyright (c) 2000-2012 the FFmpeg developers
  built on Apr 21 2012 00:49:02 with gcc 4.6.3
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libass --enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      51. 47.100 / 51. 47.100
  libavcodec     54. 15.100 / 54. 15.100
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 71.101 /  2. 71.101
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'GSX238_MPEG4.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42mp41
    creation_time   : 2007-09-05 16:39:13
  Duration: 01:31:36.02, start: 0.000000, bitrate: 75 kb/s
    Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 320x240 [SAR 45:44 DAR 15:11], 323 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 30k tbc
    Metadata:
      creation_time   : 2007-09-05 16:39:13
      handler_name    : Apple Video Media Handler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 32000 Hz, stereo, s16, 83 kb/s
    Metadata:
      creation_time   : 2007-09-05 16:39:13
      handler_name    : Apple Sound Media Handler
    Stream #0:2(und): Data: none (rtp  / 0x20707472)
    Metadata:
      creation_time   : 2007-09-05 16:39:13
      handler_name    : hint media handler
    Stream #0:3(und): Data: none (rtp  / 0x20707472)
    Metadata:
      creation_time   : 2007-09-05 16:39:13
      handler_name    : hint media handler
File 'GSX238_MPEG4_to_h264.mpg' already exists. Overwrite ? [y/N] w:320 h:240 pixfmt:yuv420p tb:1/1000000 sar:45/44 sws_param:flags=2
[mpeg @ 040c7560] VBV buffer size not set, muxing may fail
Output #0, mpeg, to 'GSX238_MPEG4_to_h264.mpg':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42mp41
    creation_time   : 2007-09-05 16:39:13
    encoder         : Lavf54.3.100
    Stream #0:0(und): Video: mpeg1video, yuv420p, 320x240 [SAR 45:44 DAR 15:11], q=2-31, 200 kb/s, 90k tbn, 29.97 tbc
    Metadata:
      creation_time   : 2007-09-05 16:39:13
      handler_name    : Apple Video Media Handler
    Stream #0:1(und): Audio: mp2, 32000 Hz, stereo, s16, 128 kb/s
    Metadata:
      creation_time   : 2007-09-05 16:39:13
      handler_name    : Apple Sound Media Handler
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 -> mpeg1video)
  Stream #0:1 -> #0:1 (aac -> mp2)
Press [q] to stop, [?] for help
frame=  146 fps=0.0 q=19.1 size=     288kB time=00:00:04.70 bitrate= 501.9kbits/s    
frame=  310 fps=310 q=16.8 size=     534kB time=00:00:09.99 bitrate= 437.8kbits/s    
frame=  611 fps=407 q=13.9 size=     968kB time=00:00:20.32 bitrate= 390.2kbits/s 
...
...
...
frame=21724 fps=1207 q=17.8 size=   29486kB time=00:12:04.48 bitrate= 333.4kbits/s    
frame=22377 fps=1209 q=13.9 size=   30372kB time=00:12:26.48 bitrate= 333.3kbits/s    
frame=23027 fps=1212 q=10.5 size=   31254kB time=00:12:47.97 bitrate= 333.4kbits/s    
Truncating packet of size 320 to 192
[aac @ 02c06000] decode_band_types: Input buffer exhausted before END element found
Error while decoding stream #0:1
[mov,mp4,m4a,3gp,3g2,mj2 @ 003dbba0] stream 1, offset 0x3171489: partial file
AV Filter told us it has a frame available but failed to output one
frame=23557 fps=1214 q=16.7 Lsize=   31984kB time=00:13:05.54 bitrate= 333.5kbits/s    

video:19376kB audio:12274kB global headers:0kB muxing overhead 1.054033%

At first I thought maybe it was an ffmpeg issue but I get the same problem with other converters.

Normally I'd just give up at this point but this is for work and I need some kind of solution.

In the bigger picture, I basically need to make these videos playable in browsers without the user having to download stuff like Quicktime. If you can offer a solution for that without me having to convert all the videos, that'd be great.

Anyway, is there some way I can "rebuild" the MP4 files or something?