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
