gstvideoencoder error

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

gstvideoencoder error

Rand Graham-2

Hello,

 

I am trying to run a pipe line that works on my machine on a colleague’s machine with the same hardware and software set up, using Ubuntu 16.04 and compiling gstreamer from source.

 

The pipeline works on my machine but not on their machine.

 

There seems to be a problem with the mfxh264enc plugin.

 

I am getting the following error

 

gst-launch-1.0 -v -e mpegtsmux name=m ! hlssink target-duration=5  souphttpsrc location="http://127.0.0.1:8000/routestream/4" ! qtdemux ! h265parse ! mfxhevcdec ! videoconvert ! mfxvpp width=1280 height=720 !  mfxh264enc ! "video/x-h264, stream-format=byte-stream, profile=high" ! m.

Setting pipeline to PAUSED ...

ERROR: Pipeline doesn't want to pause.

ERROR: from element /GstPipeline:pipeline0/GstMfxEncH264:mfxench264-0: Could not initialize supporting library.

Additional debug info:

gstvideoencoder.c(1627): gst_video_encoder_change_state (): /GstPipeline:pipeline0/GstMfxEncH264:mfxench264-0:

Failed to open encoder

Setting pipeline to NULL ...

Freeing pipeline ..

 

I googled the error message. I found something about not having enough gpu memory. I used lspci to check the gpu information on both machines and lspci reports identical information for the intel GPU that is being used on both machines.

 

lspci -v -s 0:02.0

00:02.0 VGA compatible controller: Intel Corporation Sky Lake Integrated Graphics (rev 07) (prog-if 00 [VGA controller])

        Subsystem: Intel Corporation Skylake Integrated Graphics

        Flags: bus master, fast devsel, latency 0, IRQ 127

        Memory at d0000000 (64-bit, non-prefetchable) [size=16M]

        Memory at c0000000 (64-bit, prefetchable) [size=256M]

        I/O ports at 1c00 [size=64]

        [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]

        Capabilities: <access denied>

        Kernel driver in use: i915

        Kernel modules: i915

 

I suspect something is misconfigured but I am not sure what.

 

I run gnome on my machine but I am trying to run my colleague’s system in a headless mode by using ssh to access the command line. I am not sure if that has anything to do with it but that is the main difference between how I am trying to run the pipeline.

 

Has anybody seen something like this before?

 

What support library does the x264 encoder need?

 

Any trouble shooting tips?

 

Thanks,

Rand

 


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: gstvideoencoder error

rachelgomez161999

It seems like there might be an issue with the MFX plugin on your colleague's machine. Here are some troubleshooting tips you can try:

Check if the MFX plugin is installed correctly on your colleague's machine. You can use the following command to list all GStreamer plugins installed on the machine:

perl
Copy code
gst-inspect-1.0 | grep mfx
If the MFX plugin is not listed, it may not have been installed correctly or is missing some dependencies.

Check if the MFX plugin is loaded correctly. You can use the following command to check if the plugin is loaded:

Copy code
gst-inspect-1.0 mfxenc_h264
If the plugin is not loaded, you may need to add the directory containing the MFX plugin to the GST_PLUGIN_PATH environment variable or run sudo ldconfig to update the cache.

Check if the MFX plugin has the required dependencies installed. You can use the following command to check the dependencies:

bash
Copy code
ldd /path/to/mfxenc_h264.so
If any of the dependencies are missing, you may need to install them using the package manager.

Try running the pipeline with a different encoder plugin to isolate the issue. For example, you can try using the x264enc plugin instead of the mfxh264enc plugin.

Regards,
Rachel Gomez