[FFmpeg-user] High CPU use on Raspberry Pi with hardware encoding

Brian Snyder bikeseat at gmail.com
Thu Aug 25 12:30:04 EEST 2016


Using ffmpeg 3.1.2 on a raspberry pi 2 with osmc/raspbian and getting
around 80 fps while the cpu is around %130.

Is this what can be expected using the h264_omx hardware encoder? I've
read various places online that people were getting around 160 fps
with very little cpu utilization. Just looking for other's
experiences.

Regards,
Brian

top
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s): 35.0 us,  4.5 sy,  0.0 ni, 60.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:    751052 total,   239308 used,   511744 free,     6644 buffers
KiB Swap:        0 total,        0 used,        0 free.    75692 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
21604 osmc      20   0  160608  13800   7856 S 133.7  1.8   0:09.78
./ffmpeg -i ../local/VTS_01_2.VOB -c:v h264_omx -c:a copy out.mp4

ffmpeg command
[osmc at osmc FFmpeg-n3.1.2]$ ./ffmpeg -i ../local/VTS_01_2.VOB -c:v
h264_omx -c:a copy out.mp4
ffmpeg version 3.1.2 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --enable-static --enable-omx-rpi --enable-mmal --enable-openssl
  libavutil      55. 28.100 / 55. 28.100
  libavcodec     57. 48.101 / 57. 48.101
  libavformat    57. 41.100 / 57. 41.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 47.100 /  6. 47.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
[mpeg2video @ 0x19f3b20] Invalid frame dimensions 0x0.
    Last message repeated 7 times
Input #0, mpeg, from '../local/VTS_01_2.VOB':
  Duration: 00:00:15.46, start: 13.026022, bitrate: 555235 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv,
smpte170m), 720x480 [SAR 8:9 DAR 4:3], Closed Captions, 29.97 fps,
29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 384 kb/s
    Stream #0:2[0x1bf]: Data: dvd_nav_packet
File 'out.mp4' already exists. Overwrite ? [y/N] y
[h264_omx @ 0x19f54d0] Using OMX.broadcom.video_encode
[mp4 @ 0x1a41dd0] Using AVStream.codec to pass codec parameters to
muxers is deprecated, use AVStream.codecpar instead.
    Last message repeated 1 times
[mp4 @ 0x1a41dd0] track 1: codec frame size is not set
Output #0, mp4, to 'out.mp4':
  Metadata:
    encoder         : Lavf57.41.100
    Stream #0:0: Video: h264 (h264_omx) ([33][0][0][0] / 0x0021),
yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 200 kb/s, 29.97 fps, 30k
tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.48.101 h264_omx
    Stream #0:1: Audio: ac3 ([165][0][0][0] / 0x00A5), 48000 Hz,
stereo, 384 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (h264_omx))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=  975 fps= 79 q=-0.0 Lsize=    2341kB time=00:00:32.49 bitrate=
590.0kbits/s dup=18 drop=0 speed=2.63x
video:822kB audio:1504kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: 0.596250%
Exiting normally, received signal 2.
[osmc at osmc FFmpeg-n3.1.2]$


More information about the ffmpeg-user mailing list