{"id":26406434,"url":"https://github.com/harfang3d/harfang-plugin-ffmpeg","last_synced_at":"2026-05-07T15:36:07.830Z","repository":{"id":38314639,"uuid":"464865993","full_name":"harfang3d/harfang-plugin-ffmpeg","owner":"harfang3d","description":"FFmpeg video player plugin for HARFANG 3D framework","archived":false,"fork":false,"pushed_at":"2022-06-07T07:54:27.000Z","size":305,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2023-03-10T19:25:54.756Z","etag":null,"topics":["cpp","ffmpeg","harfang3d","lua","video-plugin"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/harfang3d.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-01T11:29:38.000Z","updated_at":"2022-03-14T14:44:22.000Z","dependencies_parsed_at":"2022-08-17T17:50:42.981Z","dependency_job_id":null,"html_url":"https://github.com/harfang3d/harfang-plugin-ffmpeg","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harfang3d%2Fharfang-plugin-ffmpeg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harfang3d%2Fharfang-plugin-ffmpeg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harfang3d%2Fharfang-plugin-ffmpeg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harfang3d%2Fharfang-plugin-ffmpeg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/harfang3d","download_url":"https://codeload.github.com/harfang3d/harfang-plugin-ffmpeg/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244075626,"owners_count":20393980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","ffmpeg","harfang3d","lua","video-plugin"],"created_at":"2025-03-17T17:19:46.751Z","updated_at":"2025-10-17T09:36:28.566Z","avatar_url":"https://github.com/harfang3d.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FFmpeg video plugin\n\n## Prerequisites\n\n### ● Harfang C++ SDK\nThe Harfang C++ SDK is only required to build the sample test program.\n\n### ● FFmpeg libraries\nYou can either use the binary packages from the FFmpeg website or any package manager (apt, pacman, homebrew, chocolatey...).\n\n## Build\nBoth plugin and sample can be built using CMake and any recent C/C++ compiler (gcc, clang, msvc...).\n\n### ● FFmpeg plugin\nTo build the plugin, go to the source directory and create a build directory where CMake configuration will be performed.\n\nOn Windows, you must defined `FFMPEG_ROOT`. This variable contains the path to the FFmpeg libraries and header files.\n\n```\nmkdir build\ncd build\ncmake .. \\\n    -DFFMPEG_ROOT=\u003cpath where FFmpeg sdk\u003e \\\n    -DCMAKE_INSTALL_PREFIX=\u003cplugin install path\u003e\n```\n\nOn Linux, do not forget to specify `CMAKE_BUILD_TYPE` or the install will fail. If FFmpeg was installed using the system package manager, there is no need to specify `FFMPEG_ROOT`.\n```\ncmake .. \\\n    -DCMAKE_BUILD_TYPE=Release \\\n    -DCMAKE_INSTALL_PREFIX=\u003cplugin install path\u003e\n```\n\n### ● Test program\nThe sample program requires Harfang C++ SDK, Asset compiler (assetc) and the FFmpeg plugin (or any video stream plugin).\n\n```\ncmake .. -DHG_CPPSDK_PATH=\u003cpath to harfang cpp sdk\u003e \\\n         -DHG_ASSETC_PATH=\u003cpath to assetc\u003e \\\n         -DHG_VIDEO_STREAM_PLUGIN=\u003cplugin filepath\u003e \\\n         -DCMAKE_INSTALL_PREFIX=\u003cinstall path\u003e\n```\n\nOnce the build is complete, the install directory should contain all the required shared libraries and an executable binary named `hg_vid_play`.\n\n```\nhg_vid_play movie.mp4\n```\n\n![test program screenshot](screenshot.jpg)\n\n### ● Lua sample\nThe test directory also contains a lua script ([main.lua](./test/main.lua)). This script maps a video stream onto a spinning cube. \nNote that you need the Harfang 3D lua 5.3 to run it.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharfang3d%2Fharfang-plugin-ffmpeg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharfang3d%2Fharfang-plugin-ffmpeg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharfang3d%2Fharfang-plugin-ffmpeg/lists"}