[FFmpeg-user] cutting mts(h264+ac3) with least possible transcoding

Henning Thielemann lemming at henning-thielemann.de
Wed Jul 17 21:55:49 EEST 2019


On Wed, 17 Jul 2019, Moritz Barsnick wrote:

> Had you shown us the conversion command, we would have seen that 0
> video frames are being copied:
>
>> frame=    0 fps=0.0 q=-1.0 Lsize=N/A time=00:00:00.00 bitrate=N/A speed=   0x
>> video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

I see.

> I believe this may be due to your seek command "-ss 00:02". ffmpeg
> cannot find any keyframes starting from your given offset, and
> therefore can't begin the output stream, and produces 0 output frames.

Hm, the big video I really want to process is more than 10 min and shows 
the same problem, namely there is no output frame. Can missing keyframes 
still be the cause?

The output is this one:

$ ffmpeg -ss 00:00:35 -i 00149.MTS -t 00:10:25 -vcodec copy -acodec ac3 -b:a 256k /tmp/cut.mts
ffmpeg version N-94324-g806ac7d Copyright (c) 2000-2019 the FFmpeg developers
   built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.11) 20160609
   configuration:
   libavutil      56. 30.100 / 56. 30.100
   libavcodec     58. 53.101 / 58. 53.101
   libavformat    58. 28.102 / 58. 28.102
   libavdevice    58.  7.100 / 58.  7.100
   libavfilter     7. 56.101 /  7. 56.101
   libswscale      5.  4.101 /  5.  4.101
   libswresample   3.  4.100 /  3.  4.100
Input #0, mpegts, from '00149.MTS':
   Duration: 00:12:06.24, start: 0.521578, bitrate: 12339 kb/s
   Program 1
     Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(top first), 1440x1080 [SAR 4:3 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
     Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 256 kb/s
File '/tmp/cut.mts' already exists. Overwrite ? [y/N] y
Stream mapping:
   Stream #0:0 -> #0:0 (copy)
   Stream #0:1 -> #0:1 (ac3 (native) -> ac3 (native))
Press [q] to stop, [?] for help
Output #0, mpegts, to '/tmp/cut.mts':
   Metadata:
     encoder         : Lavf58.28.102
     Stream #0:0: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(top first), 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 25 fps, 50 tbr, 90k tbn, 90k tbc
     Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s
     Metadata:
       encoder         : Lavc58.53.101 ac3
frame=    0 fps=0.0 q=-1.0 Lsize=   22699kB time=00:10:25.01 bitrate=297.5kbits/s speed=37.2x
video:0kB audio:19532kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 16.215258%


> If you use the output option "-copyinkf", ffmpeg will copy the initial
> non-keyframes and actually produce 218 output frames. The output will
> probably be of little use without a single keyframe though.

ok

>> ffmpeg version 2.8.15-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers
>
> BTW, this is a very old version.

I know. Before posting I compiled the latest version from Git, but that 
produced the same result.


More information about the ffmpeg-user mailing list