# Trying to install 'ffprobe'

**URL:** <https://discourse.nodered.org/t/trying-to-install-ffprobe/18287>\
**Category:** General\
**Created:** [22 November 2019 15:28 UTC](https://discourse.nodered.org/t/trying-to-install-ffprobe/18287 "2019-11-22T15:28:17Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [22 November 2019 15:28 UTC](https://discourse.nodered.org/t/trying-to-install-ffprobe/18287/1 "2019-11-22T15:28:17Z")

</div>

I'm trying to install 'node-red-contrib-ffprobe' on a RPi-3B and keep getting this warning message.  
Has anyone managed to install this node and got it working?

I'm hoping to collect the metadata from an audio track (file on my RPi).

Thanks for reading this.

# Welcome to Node-RED

22 Nov 13:56:26 - [info] Node-RED version: v1.0.2  
22 Nov 13:56:26 - [info] Node.js version: v8.16.0  
22 Nov 13:56:26 - [info] Linux 4.9.35-v7+ arm LE  
22 Nov 13:56:27 - [info] Loading palette nodes  
22 Nov 13:56:38 - [info] Worldmap version 2.1.6  
22 Nov 13:56:39 - [info] Dashboard version 2.17.1 started at /ui  
22 Nov 13:56:41 - [warn] ------------------------------------------------------  
22 Nov 13:56:41 - [warn] [node-red-contrib-ffprobe/ffprobe] Error: Cannot find module 'ffprobe' (line:4)  
22 Nov 13:56:41 - [warn] ------------------------------------------------------  
22 Nov 13:56:41 - [info] Settings file : /home/pi/.node-red/settings.js  
22 Nov 13:56:41 - [info] HTTP Static : /home/pi/.node-red/public  
22 Nov 13:56:41 - [info] Context store : 'default' [module=memory]  
22 Nov 13:56:41 - [info] User directory : /home/pi/.node-red  
22 Nov 13:56:41 - [info] Server now running at [http://127.0.0.1:1880/](http://127.0.0.1:1880/)  
22 Nov 13:56:41 - [info] Active project : Christmas\_Project  
22 Nov 13:56:41 - [info] Flows file : /home/pi/.node-red/projects/Christmas\_Project/flow.json  
22 Nov 13:56:41 - [info] Starting flows  
22 Nov 13:56:42 - [info] Started flows

---

<div class="post-metadata">

**Author:** ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)\
**Post date:** [22 November 2019 15:37 UTC](https://discourse.nodered.org/t/trying-to-install-ffprobe/18287/2 "2019-11-22T15:37:38Z")

</div>

Did you install the prereq’s ffprobe ffprobe-static ?

---

<div class="post-metadata">

**Author:** ![Bond246](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bond246/32/16460_2.png) [@Bond246](https://discourse.nodered.org/u/Bond246)\
**Post date:** [24 January 2025 17:00 UTC](https://discourse.nodered.org/t/trying-to-install-ffprobe/18287/3 "2025-01-24T17:00:10Z")

</div>

Hello everyone,

i'm trying to extract the play-length of an mp3-file and it seems that ffprobe is the best choise for that.

The question is how is the best way to install the dependencies in docker to get them persistent in the container (even after deleting the container and recreating it later).

If i install the contrib-ffprobe package via palette manager and do

```auto
npm install ffprobe
npm install https://github.com/derhuerst/ffprobe-static

```

Then i can use the ffprobe node.  
But after recreating the container the two required packages installed via npm are lost.

So how to get everything fine inside docker?

Thanks!

---

<div class="post-metadata">

**Author:** ![gregorius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gregorius/32/73816_2.png) [@gregorius](https://discourse.nodered.org/u/gregorius)\
**Post date:** [25 January 2025 07:40 UTC](https://discourse.nodered.org/t/trying-to-install-ffprobe/18287/4 "2025-01-25T07:40:52Z")

</div>

> [@Bond246](#):
>
> So how to get everything fine inside docker?

You have to edit the dockerfile to install the required packages.

Example dockerfile that I use:

```dockerfile
FROM nodered/node-red:3.1.12-18

USER root

COPY ./node-red/package.json .
RUN npm install
RUN cp -R node_modules prod_node_modules

RUN apk --no-cache add imagemagick exiftool imagemagick-heic ffmpeg

COPY ./entrypoint.sh .
RUN chmod 755 entrypoint.sh

USER node-red

ENTRYPOINT ./entrypoint.sh

```

Note here I use `apk` to install the imagemagick & ffmpeg into the docker image - these are then available to Node-RED.
