Skills
Skills denote the capabilities of the used FFmpeg binary. It includes version information, supported input and output protocols, available hardware accelerators, supported formats for muxing and demuxing, filters, and available input and output devices.
Read
Example:
curl http://127.0.0.1:8080/api/v3/skills \
   -H 'accept: application/json' \
   -X GETfrom core_client import Client
client = Client(
    base_url="http://127.0.0.1:8080"
)
client.login()
core_ffmpeg_skills = client.v3_skills_get()
print(core_ffmpeg_skills)import (
    "fmt"
    "github.com/datarhei/core-client-go/v16"
)
client, _ := coreclient.New(coreclient.Config{
    Address: "https://127.0.0.1:8080",
})
skills, err := client.Skills()
fmt.Printf("%+v\n", skills)Description:
List all detected FFmpeg capabilities.
Authorizations
Responses
200
OK
application/json
get
/api/v3/skillsGET /api/v3/skills HTTP/1.1
Host: /
Authorization: YOUR_API_KEY
Accept: */*
200
OK
{
  "codecs": {
    "audio": [
      {
        "decoders": [
          "text"
        ],
        "encoders": [
          "text"
        ],
        "id": "text",
        "name": "text"
      }
    ],
    "subtitle": [
      {
        "decoders": [
          "text"
        ],
        "encoders": [
          "text"
        ],
        "id": "text",
        "name": "text"
      }
    ],
    "video": [
      {
        "decoders": [
          "text"
        ],
        "encoders": [
          "text"
        ],
        "id": "text",
        "name": "text"
      }
    ]
  },
  "devices": {
    "demuxers": [
      {
        "devices": [
          {
            "extra": "text",
            "id": "text",
            "media": "text",
            "name": "text"
          }
        ],
        "id": "text",
        "name": "text"
      }
    ],
    "muxers": [
      {
        "devices": [
          {
            "extra": "text",
            "id": "text",
            "media": "text",
            "name": "text"
          }
        ],
        "id": "text",
        "name": "text"
      }
    ]
  },
  "ffmpeg": {
    "compiler": "text",
    "configuration": "text",
    "libraries": [
      {
        "compiled": "text",
        "linked": "text",
        "name": "text"
      }
    ],
    "version": "text"
  },
  "filter": [
    {
      "id": "text",
      "name": "text"
    }
  ],
  "formats": {
    "demuxers": [
      {
        "id": "text",
        "name": "text"
      }
    ],
    "muxers": [
      {
        "id": "text",
        "name": "text"
      }
    ]
  },
  "hwaccels": [
    {
      "id": "text",
      "name": "text"
    }
  ],
  "protocols": {
    "input": [
      {
        "id": "text",
        "name": "text"
      }
    ],
    "output": [
      {
        "id": "text",
        "name": "text"
      }
    ]
  }
}Reload
Reloading the skills might be necessary if you plug e.g. an USB device. It will only show up in the list of available devices if they are probed again.
Example:
curl http://127.0.0.1:8080/api/v3/skills/reload \
   -H 'accept: application/json' \
   -X GETfrom core_client import Client
client = Client(
    base_url="http://127.0.0.1:8080"
)
client.login()
client.v3_skills_reload()import (
    "fmt"
    "github.com/datarhei/core-client-go/v16"
)
client, _ := coreclient.New(coreclient.Config{
    Address: "https://127.0.0.1:8080",
})
err := client.SkillsReload()
if err != nil {
    ...
}
skills, err := client.Skills()
fmt.Printf("%+v\n", skills)Refresh the available FFmpeg capabilities.
Authorizations
Responses
200
OK
application/json
get
/api/v3/skills/reloadGET /api/v3/skills/reload HTTP/1.1
Host: /
Authorization: YOUR_API_KEY
Accept: */*
200
OK
{
  "codecs": {
    "audio": [
      {
        "decoders": [
          "text"
        ],
        "encoders": [
          "text"
        ],
        "id": "text",
        "name": "text"
      }
    ],
    "subtitle": [
      {
        "decoders": [
          "text"
        ],
        "encoders": [
          "text"
        ],
        "id": "text",
        "name": "text"
      }
    ],
    "video": [
      {
        "decoders": [
          "text"
        ],
        "encoders": [
          "text"
        ],
        "id": "text",
        "name": "text"
      }
    ]
  },
  "devices": {
    "demuxers": [
      {
        "devices": [
          {
            "extra": "text",
            "id": "text",
            "media": "text",
            "name": "text"
          }
        ],
        "id": "text",
        "name": "text"
      }
    ],
    "muxers": [
      {
        "devices": [
          {
            "extra": "text",
            "id": "text",
            "media": "text",
            "name": "text"
          }
        ],
        "id": "text",
        "name": "text"
      }
    ]
  },
  "ffmpeg": {
    "compiler": "text",
    "configuration": "text",
    "libraries": [
      {
        "compiled": "text",
        "linked": "text",
        "name": "text"
      }
    ],
    "version": "text"
  },
  "filter": [
    {
      "id": "text",
      "name": "text"
    }
  ],
  "formats": {
    "demuxers": [
      {
        "id": "text",
        "name": "text"
      }
    ],
    "muxers": [
      {
        "id": "text",
        "name": "text"
      }
    ]
  },
  "hwaccels": [
    {
      "id": "text",
      "name": "text"
    }
  ],
  "protocols": {
    "input": [
      {
        "id": "text",
        "name": "text"
      }
    ],
    "output": [
      {
        "id": "text",
        "name": "text"
      }
    ]
  }
}Last updated
Was this helpful?
