[FFmpeg-devel] Issues while encoding a ts file to m3u8

Ramana Jajula ramana.jajula9 at gmail.com
Fri Aug 2 16:55:11 EEST 2019


Hi,

I am trying to encode my ts file m3u8 using my customised ffmpeg of version
4.1. I used below command to do encoding.

ffmpeg -re -threads 8 -i /videos/input.ts -vcodec libx264 -s 320x240 -b:v
512000 -maxrate 512000 -acodec libfdk_aac -b:a 32000 -ac 2 -ar 48000
-force_key_frames 'expr:gte(t,n_forced*3)' -hls_flags single_file
-hls_list_size 0 -hls_time 3 -fsize 400x222 -frames /frames/my_frames/
-index /mpegindex/my_index.idx  -y /encoded/test/output.m3u8

My encoding was bad. The output printed to console is
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
/videos/input.ts FPS 25.000000 0
Input #0, mpegts, from '/videos/.input.ts':
  Duration: 00:04:05.97, start: 85837.091689, bitrate: 1769 kb/s
  Program 1
    Stream #0:0[0x105]: Video: h264 (Main) ([27][0][0][0] / 0x001B),
yuv420p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn,
50 tbc
    Stream #0:1[0x106]: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz,
stereo, fltp, 128 kb/s
[libx264 @ 0x564a2f7cc480] VBV maxrate specified, but no bufsize, ignored
[libx264 @ 0x564a2f7cc480] using SAR=4/3
[libx264 @ 0x564a2f7cc480] using cpu capabilities: MMX2 SSE2Fast SSSE3
SSE4.2
[libx264 @ 0x564a2f7cc480] profile High, level 2.0
[libx264 @ 0x564a2f7cc480] 264 - core 148 r2748 97eaef2 - H.264/MPEG-4 AVC
codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options:
cabac=1 ref=3 debloc
k=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1
me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11
fast_pskip=1 chroma_qp_offset
=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1
interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2
b_adapt=1 b_bias=0 direct=1 wei
ghtb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40
intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=512 ratetol=1.0
qcomp=0.60 qpmin=0 qpmax=69 qpst
ep=4 ip_ratio=1.40 aq=1:1.00
[hls @ 0x564a2f7ccc40] Using AVStream.codec to pass codec parameters to
muxers is deprecated, use AVStream.codecpar instead.
    Last message repeated 1 times
[hls @ 0x564a2f7ccc40] Opening '/encodedt/input.ts' for writing
Output #0, hls, to '/encoded/output.m3u8':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: h264 (libx264), yuv420p, 320x240 [SAR 4:3 DAR
16:9], q=-1--1, 512 kb/s, 25 fps, 90k tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.35.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 512000/0/512000 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: aac (libfdk_aac), 48000 Hz, stereo, s16, 32 kb/s
    Metadata:
      encoder         : Lavc58.35.100 libfdk_aac
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (ac3 (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
frame=   34 fps=0.1 q=0.0 size=N/A time=00:05:02.11 bitrate=N/A dup=29
drop=0 speed=0.567x
[hls @ 0x564a2f7ccc40] Packets poorly interleaved, failed to avoid negative
timestamp -3360 in stream 0.0.567x
Try -max_interleave_delta 0 as a possible workaround.

Since the encoding speed is too slow I had to cancel the encoding process.
I killed it,

What is the reason for this slow encoding process?

PS: My input file is of 1 hour duration.

Thanks.
ReplyForward


More information about the ffmpeg-devel mailing list