0

I need to transcode a live stream (encoded in h264) to h265 with ffmpeg.

Unfortunately my hardware is not able to encode H265 by hardware (but can decode H264).

Currently I'm using:

ffmpeg -re -i "input" -c:v libx265 -preset ultrafast -b:v 2200k -max_muxing_queue_size 4096 ...

If I use this, speed of conversion hovers around 1, but it's usually between 0.980 - 0.998, which causes a lot of headaches.

If I remove the ultrafast preset, speed decreases to 0.6-0.7, which is unenjoyable of course.

Is there any way, to:

a.) Utilize my h264 decoding hw (Intel IvyBridge) (or it's not used during this conversion)? b.) Introduce some buffer (to have some more time for the conversion, as the stream is not consistently hard, so there are heavy and not-heavy parts) c.) other flag?

Daniel
  • 487
  • 4
  • 15
  • 1
    likely you just need to start your command with `ffmpeg -hwaccel qsv -c:v h264_qsv -i input.mp4` per this answer in the duplicate: https://superuser.com/a/1487732/19943 – Mokubai Dec 06 '22 at 18:58
  • For this I got `-c:v: Protocol not found` . – Daniel Dec 06 '22 at 20:02
  • then run `ffmpeg -decoders` and post every line that includes `qsv` – Mokubai Dec 06 '22 at 20:08
  • This was user error: misformed input. However `hwaccel` doesn't seem to get any performance gain. Can I somehow create a buffer instead, to relax my transcoder? – Daniel Dec 06 '22 at 20:59

0 Answers0