On Sat, Sep 12, 2015 at 11:24 PM, Steve Boyer <steveboye...@gmail.com> wrote:
> > > On Sat, Sep 12, 2015 at 11:03 PM, Kai Hendry <kai.hen...@gmail.com> 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... > My apologies: just saw your command line in one of your files: " Command line: ffmpeg -y -i /srv/ftp/888/C1_00626E587B70/record/MDalarm_20150913_115258.mkv -r 30 -movflags +faststart -pix_fmt yuv420p -c:v libx264 -vprofile baseline -acodec aac -strict experimental /srv/www/nuc.local/2015-09-13/MDalarm_20150913_115258.mp4" > 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 >> ffmpeg-user@ffmpeg.org >> http://ffmpeg.org/mailman/listinfo/ffmpeg-user >> > > _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user