bind failed: Permission denied

How to solve problem when you cant execute ffmpeg form user and ports are below 1024.

In UNIX-like systems, non-root users are unable to bind to ports lower than 1024.

You need to be root to bind a port below 1024, or or you could give ffmpeg CAP_NET_BIND_SERVICE:

sudo setcap 'cap_net_bind_service=+ep' /path/to/program

You must have kernel at least a 2.6.24

 

Example add the capability to the httpd and check that the capability is added:

# setcap cap_net_bind_service=+ep /usr/sbin/httpd

# getcap /usr/sbin/httpd
/usr/sbin/httpd = cap_net_bind_service+ep

arstech

Leave a Reply

Your email address will not be published. Required fields are marked *