[FFmpeg-user] How to determine which decoder is used in ffmpeg pipe ?

Moritz Barsnick barsnick at gmx.net
Mon Jul 4 16:11:24 CEST 2016


On Mon, Jul 04, 2016 at 05:29:19 -0700, ssshukla26 wrote:
> *ffplay -f h264 -i test.h264*

I can't run ffplay right now, but I could point it out to you if you
showed us the complete, uncut console output.

> Also I am able to convert h264 to yuv using the below command, but can't
> find out which decoder is used !
> 
> *ffmpeg -i input.h264 -f h264 -vcodec rawvideo -pix_fmt nv12 -s 1920x1080 -r
> 30 output.yuv*

That command probably does not quite do what you expect it to! I'll
explain below.

First, to your question:
My ffmpeg has a set of console output lines like this:
Stream mapping:
  Stream #0:0 -> #0:0 (vp9 (libvpx-vp9) -> wrapped_avframe (native))
                       ^^^ codec
                            ^^^^^^^^^^ implementation

I don't know which H.264 decoder implementations your ffmpeg build has
(see "ffmpeg -codecs"), you will likely see something like:
  Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))

You will see the implementation change if you force a different decoder
(-c:v as input option).


Why your command is wrong:
> ffmpeg -i input.h264 -f h264
You are setting h264 as *output* format, because you are using the
option after the input file. That's not what you want, right? This may
have unexpected effects on your output file. (It doesn't in this case,
I believe.) Be careful with your command line!

Moritz


More information about the ffmpeg-user mailing list