On Sat, Sep 12, 2015 at 11:03 PM, Kai Hendry <[email protected]> wrote:

> Hi guys,



>

The Input #0, mpeg transcoding into mp4 (for iPhone playback via
> Safari) is resulting in up 3x larger files. Why is that?
>
> ffprobe of a typical MKV input file:
> http://ix.io/kLm
>
> The ffmpeg log:
> http://ix.io/kMw
>
> Sidenote: Found I had to put in a frame rate of 30 else things
> wouldn't work. Really not sure why. Maybe someone can explain?
>
> Example of the input:
> http://s.natalian.org/2015-09-13/MDalarm_20150911_121823.mkv
>
>
First off, the command you used, from start to finish would be helpful, but
seeing as this looks like a pretty easy one...

I downloaded your sample file above, and did:

steve@steve-laptop:~/Downloads$ ffmpeg -i MDalarm_20150911_121823.mkv -c:a
copy -c:v copy MDalarm.mp4
ffmpeg version 2.4.git Copyright (c) 2000-2014 the FFmpeg developers
  built on Nov 16 2014 15:41:37 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --prefix=/home/steve/ffmpeg_build
--extra-cflags=-I/home/steve/ffmpeg_build/include
--extra-ldflags=-L/home/steve/ffmpeg_build/lib --bindir=/home/steve/bin
--enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype
--enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis
--enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
  libavutil      54. 13.100 / 54. 13.100
  libavcodec     56. 12.101 / 56. 12.101
  libavformat    56. 13.100 / 56. 13.100
  libavdevice    56.  3.100 / 56.  3.100
  libavfilter     5.  2.103 /  5.  2.103
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mpeg, from 'MDalarm_20150911_121823.mkv':
  Duration: 00:00:33.73, start: 48716.884478, bitrate: 266 kb/s
    Stream #0:0[0x1e0]: Video: h264 (Baseline), yuv420p, 1280x720, 90k tbr,
90k tbn
Output #0, mp4, to 'MDalarm.mp4':
  Metadata:
    encoder         : Lavf56.13.100
    Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1280x720,
q=2-31, 90k tbn, 90k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame=  778 fps=0.0 q=-1.0 Lsize=    1081kB time=00:00:33.68 bitrate=
262.8kbits/s
video:1071kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.909946%
steve@steve-laptop:~/Downloads$

ls -l returns...
-rw-r----- 1 steve steve 1122988 Sep 12 23:07 MDalarm_20150911_121823.mkv
-rw-rw-r-- 1 steve steve 1106527 Sep 12 23:09 MDalarm.mp4

I left out the part about "-c:a copy -c:v copy" to copy the streams and it
yelled at me about framerate (tries to output a funky framerate) and also
about the filesize was crazy.

Put the "-c:a copy -c:v copy" to copy the streams and not transcode and it
worked fast (778 fps) and plays fine with ffplay and VLC. MPlayer plays it
at an insane FPS. Stats on the resulting file:

steve@steve-laptop:~/Downloads$ ffprobe MDalarm.mp4
ffprobe version 2.4.git Copyright (c) 2007-2014 the FFmpeg developers
  built on Nov 16 2014 15:41:37 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --prefix=/home/steve/ffmpeg_build
--extra-cflags=-I/home/steve/ffmpeg_build/include
--extra-ldflags=-L/home/steve/ffmpeg_build/lib --bindir=/home/steve/bin
--enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype
--enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis
--enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
  libavutil      54. 13.100 / 54. 13.100
  libavcodec     56. 12.101 / 56. 12.101
  libavformat    56. 13.100 / 56. 13.100
  libavdevice    56.  3.100 / 56.  3.100
  libavfilter     5.  2.103 /  5.  2.103
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MDalarm.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.13.100
  Duration: 00:00:33.73, start: 0.000000, bitrate: 262 kb/s
    Stream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p,
1280x720, 260 kb/s, 23.06 fps, 25 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      handler_name    : VideoHandler
steve@steve-laptop:~/Downloads$

My version of FFmpeg (which I admit is a little older than newest
development) puts it in a 24000/1001 framerate H264 video stream and copies
it nicely into an MP4 file. iOS devices shouldn't have any problem playing
a 720P .MP4.

TL;DR: use -c:a copy and -c:v copy options and give that a shot.


> Many thanks,
>
> p.s. code for the project will eventually land up in
> https://github.com/kaihendry/camftp2web
> _______________________________________________
> ffmpeg-user mailing list
> [email protected]
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
_______________________________________________
ffmpeg-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

Reply via email to