ویرایش ، تبدیل فرمت صوتی audio با ffmpeg در PHP

ویرایش ، تبدیل فرمت صوتی audio با ffmpeg در PHP

ویرایش فایل audio با php – فایل های صوتی دارای فرمت های مختلفی از قبیل mp3 , flac , wav , ogg , m4a و کلی فرمت دیگر می باشد .
در این آموزش یاد خواهیم گرفت فایل های صوتی را :

  1. تبدیل
  2. برش
  3. ویرایش متا دیتا ( title , album , artist )

در صورتی که می خواهید فایل های ویدیویی را ویرایش کنید می توانید از این آموزش استفاده کنید .

1- تبدیل فرمت فایل صوتی ( audio )

$ffmpeg = FFMpeg\FFMpeg::create();
$audio = $ffmpeg->open('files/song.mp3');

$format = new FFMpeg\Format\Audio\Flac();
$format->on('progress', function ($audio, $format, $percentage) {
    echo "$percentage%";
});

$format
    ->setAudioChannels(2)
    ->setAudioKiloBitrate(256);

$audio->save($format, 'output/track.flac');

علاوه بر فرمت flac می توانیم به فرمت های دیگری هم فایل صوتی مان را تبدیل کنیم .


تبدیل به Ogg

$format = new FFMpeg\Format\Audio\Vorbis();
$audio->save($format, 'output/track.Ogg');


تبدیل به Wav

$format = new FFMpeg\Format\Audio\Wav();
$audio->save($format, 'output/track.WAV');


2- برش یک بازه زمانی از صوت

$ffmpeg = FFMpeg\FFMpeg::create();
$audio = $ffmpeg->open('files/song.mp3');
$format = new FFMpeg\Format\Audio\Mp3();
$audio->filters()->clip(FFMpeg\Coordinate\TimeCode::fromSeconds(30), FFMpeg\Coordinate\TimeCode::fromSeconds(15));
$audio->save($format, 'output/track.mp3');

در صورتی که با خطای must be an instance of FFMpeg\Format\VideoInterface مواجه شدید وارد فایل FFMpeg\Filters\Video\ClipFilter.php شده و دومین ورودی متود apply که format نام دارد نوع VideoInterface را پاک کنید .

3- افزودن متا دیتا های فایل صوتی

متا دیتا های صوتی همان نام ، عنوان ، آلبوم ، کاور می باشد که می توانیم به شکل زیر اضافه کنیم :

$ffmpeg = FFMpeg\FFMpeg::create();
$audio = $ffmpeg->open('files/song.ogg');

$format = new FFMpeg\Format\Audio\Mp3();
$audio->filters()->addMetadata(
[
"title" => "Lost but Won",
"album" => "Rush",
"artist" => "Hans Zimmer; ",
"composer" => "Hans Zimmer; ",
"track" => "Lost but Won",
"year" => "2013",
"description" => "two Formula One drivers",
"artwork" => "files/artwork.jpg"
]
);

$audio->save($format, 'output/track.mp3');

دقت داشته باشید که فعلا برای artwork که همان کاور فایل audio هست با فرمت mp3 سازگار است .


ویرایش فایل صوتی audio با php

ارسال نظر

جهت استفاده از کد حتما از تگ pre استفاده نمایید .

contact us