jreviews:encoding.ffmpeg_mp4_video_codec
Filters the video codec used when encoding MP4 videos. Also fired via the legacy `Clickfwd\Hook` system as `ffmpeg_mp4_video_codec` for V5 compatibility (the legacy call is slated for removal in V7).
You need to have a working knowledge of Hooks before you get started.
Parameters
| Name | Type | Description |
|---|---|---|
$mp4Codec |
string |
The selected video codec after the legacy filter has run. |
$mp4Codecs |
array |
The available video codec options. |
Boilerplate Code
Use the boilerplate code to start using the filter, and add your own logic to modify the first argument and return it.
fwd_add_filter('jreviews:encoding.ffmpeg_mp4_video_codec', function($mp4Codec, $mp4Codecs)
{
// Your code here
return $mp4Codec;
}, 20, 2);
The , 20, N after your callback are the hook priority and the number of arguments your callback accepts. By default, a hook passes your callback only its first argument; for a filter, that is the value being filtered, so a simple function($value) { ... } needs nothing extra. If your callback declares more parameters, such as function($value, $listing) { ... }, you must add N (the parameter count, 2 here). Because N is the fourth argument to fwd_add_filter() or fwd_add_action(), you must also pass the priority (20 is the default). Leaving these off when your callback expects extra parameters causes a Too few arguments to function ... fatal error.
Examples
Keep the selected MP4 video codec
Inspect the available MP4 video codecs and return the codec that should be passed to the encoder.
fwd_add_filter('jreviews:encoding.ffmpeg_mp4_video_codec', fn($codec, $codecs) => $codec, 20, 2);
Source Files
app/Services/Encoding/FFMPEGService.php