Autor Zpráva
Silver8000
Profil
Ahoj vsem,

potrebuji zjistit jak pouzivat knihovnu FFMPEG .

Nikde jsem totiz nenasel jak tuto knihovnu pouzivat.

Vsude na internetu je jen psano jak knihovnu instalovat ale vysvetleni jak ji pouzit uz ne.

FFMPEG mam nainstalovan v poradku.

Tak me prosim nejak poradte jak to udelat.

Diky
Jan Tvrdík
Profil
Není jednodušší použít github.com/PHP-FFMpeg/PHP-FFMpeg?
Silver8000
Profil
Toto je pro nejakou "sami" aplikaci - A bylo by neco i pro windows a pokud ne tak : viz moje 1. otazka.
Jan Tvrdík
Profil
Na to jsi přišel zase kde? Odkázaná knihovna je funkční i na Windows.
Silver8000
Profil
Je to v tech tridach napriklad use sami atp.
Ja zadnou sami aplikaci nemam.
Jan Tvrdík
Profil
Silver8000:
A píše se někde v dokumentaci, že máš načítat soubor .sami.php? Nepíše. Je to mimochodem konfigurační soubor pro vygenerování API dokumentace pomocí knihovny Sami.

V dokumentaci je jasně uvedeno, že je potřeba knihovnu nainstalovat pomocí Composeru.
Silver8000
Profil
Dobre komposer uz mam muzete me prosim navest jak to instalovat jelikoz jsem nepochopil jak komposer funguje a nasledujici informace mi nic nerika :
{
    "require": {
        "php-ffmpeg/php-ffmpeg": "~0.4"
    }
}

Diky

PS.: toto je po prve v zivote kdy se setkavam s komposerem ktery instaluje neco do php.
Jan Tvrdík
Profil
Silver8000:
Buď vytvoříš soubor composer.json s výše uvedeným obsahem a ve stejném adresáři zavoláš composer install nebo můžeš rovnou zavolat composer require php-ffmpeg/php-ffmpeg:~0.4. Vytvoří se složka vendor s nainstalovanou knihovnou a jejími závislostmi.

V tvém skriptu (pojmenovaným třeba index.php) pak musíš ještě načíst autoloader Composeru, aby se knihovny správně načetly.

<?php
// index.php, načtení knihoven
require __DIR__ . '/vendor/autoload.php';

// teď už je můžeš používat
$ffmpeg = FFMpeg\FFMpeg::create();
$video = $ffmpeg->open('video.mpg');
...
Silver8000
Profil
Mam mensi problem viz obrazek :



Jak to muzu opravit?

Vim ze se muzu dat cestu ke komposeru do windows path enviromentu ale nevim kam se komposer nainstaloval jinak composer.json uz tam je v ty slozce.
Jan Tvrdík
Profil
Silver8000:
Jestli jsi to instaloval tím klasickým Windows instalátorem, tak ten by PATH měl nastavit, nicméně pokud se nemýlím, tak na Windows je potřeba se odhlásit a přihlásit (pro jistotu bych to PC restartoval), aby se změna PATH projevila.
Silver8000
Profil
No prave ze jsem to pro jistotu radsi restartoval
a hlasi mi to tu hlasku na obrazku.
Jan Tvrdík
Profil
Silver8000:
Záleží na tom, jestli jsi ten instalátor spustil s admin právy nebo ne. S administrátorskými právy by se měl Composer nainstalovat do C:\<Program Files>\ComposerSetup a C:\ProgramData\ComposerSetup\bin, s uživatelskými právy pak do C:\Users\<user>\AppData\Local\ComposerSetup.
Silver8000
Profil
Uz jsem to opravil :

//otevrenim php slozky v cmd a pak zadal
php -r "readfile('https://getcomposer.org/installer');" | php
echo @php "%~dp0composer.phar" %*>composer.bat
Silver8000
Profil
ten komposer co je v ty slozce ma nejakou chybu ale nevim jakou :

{
    "name": "php-ffmpeg/php-ffmpeg",
    "type": "library",
    "description": "FFMpeg PHP, an Object Oriented library to communicate with AVconv / ffmpeg",
    "keywords": ["video processing", "video", "audio processing", "audio", "avconv", "ffmpeg", "avprobe", "ffprobe"],
    "license": "MIT",
    "authors": [
    {
        "name": "Romain Neutron",
        "email": "imprec@gmail.com",
        "homepage": "http://www.lickmychip.com/"
    },
    {
        "name": "Phraseanet Team",
        "email": "info@alchemy.fr",
        "homepage": "http://www.phraseanet.com/"
    }
    ],
    "require": {
        "php"                          : ">=5.3.3",
        "alchemy/binary-driver"        : "~1.5",
        "doctrine/cache"               : "~1.0",
        "evenement/evenement"          : "~1.0",
        "neutron/temporary-filesystem" : "~2.1, >=2.1.1"
    },
    "suggest": {
        "php-ffmpeg/extras"        : "A compilation of common audio & video drivers for PHP-FFMpeg"
    },
    "require-dev": {
        "sami/sami"       : "~1.0",
        "silex/silex"     : "~1.0",
        "phpunit/phpunit" : "~3.7"
    },
    "autoload": {
        "psr-0": {
            "FFMpeg": "src"
        }
    },
    "extra": {
        "branch-alias": {
            "dev-master": "0.5-dev"
        }
    }
}
Jan Tvrdík
Profil
Silver8000:
Všechno smaž a zavolej
composer require php-ffmpeg/php-ffmpeg:~0.4
Nestahuj tu knihovnu ručně.
Silver8000
Profil
takze jsem tam vlozil puvodni script :

{
    "require": {
        "php-ffmpeg/php-ffmpeg": "~0.4"
    }
}

a dostal jsem tohle :


Takze to znamena ze musim zvetsit velikost pameti.
Vim ze to jsou celkem 3 hodnoty velikosti:
post_max_size a na ty dalsi uz si nevzpominam.


no vlastne stacilo zmenit jenom memory_limit=200M a hned se dostavil vysledek :



A ted jak zjistim jake funkce muzu pouzit?
Silver8000
Profil
Jinak uz jsem nasel zpusob na tu moji 1. otazku ale vypada to ze bude potreba udelat dedicnou tridu aby se dalo zcela manipulovat s videem.
Odkaz zde
Originalni kod :
<?php
// Check if the ffmpeg-php extension is loaded first
extension_loaded('ffmpeg') or die('Error in loading ffmpeg');

// Determine the full path for our video
$vid = 'cesta_k_videu.mkv';

// Create the ffmpeg instance and then display the information about the video clip.
$ffmpegInstance = new ffmpeg_movie($vid);
echo "getDuration: " . $ffmpegInstance->getDuration() . "<br />".
"getFrameCount: " . $ffmpegInstance->getFrameCount() . "<br />".
"getFrameRate: " . $ffmpegInstance->getFrameRate() . "<br />".
"getFilename: " . $ffmpegInstance->getFilename() . "<br />".
"getComment: " . $ffmpegInstance->getComment() . "<br />".
"getTitle: " . $ffmpegInstance->getTitle() . "<br />".
"getAuthor: " . $ffmpegInstance->getAuthor() . "<br />".
"getCopyright: " . $ffmpegInstance->getCopyright() . "<br />".
"getArtist: " . $ffmpegInstance->getArtist() . "<br />".
"getGenre: " . $ffmpegInstance->getGenre() . "<br />".
"getTrackNumber: " . $ffmpegInstance->getTrackNumber() . "<br />".
"getYear: " . $ffmpegInstance->getYear() . "<br />".
"getFrameHeight: " . $ffmpegInstance->getFrameHeight() . "<br />".
"getFrameWidth: " . $ffmpegInstance->getFrameWidth() . "<br />".
"getPixelFormat: " . $ffmpegInstance->getPixelFormat() . "<br />".
"getBitRate: " . $ffmpegInstance->getBitRate() . "<br />".
"getVideoBitRate: " . $ffmpegInstance->getVideoBitRate() . "<br />".
"getAudioBitRate: " . $ffmpegInstance->getAudioBitRate() . "<br />".
"getAudioSampleRate: " . $ffmpegInstance->getAudioSampleRate() . "<br />".
"getVideoCodec: " . $ffmpegInstance->getVideoCodec() . "<br />".
"getAudioCodec: " . $ffmpegInstance->getAudioCodec() . "<br />".
"getAudioChannels: " . $ffmpegInstance->getAudioChannels() . "<br />".
"hasAudio: " . $ffmpegInstance->hasAudio();

Dedicna trida :

<?php
class FFMPEG_PHP extends ffmpeg_movie{
  /* dalsi funkce */

}
?>

Akorat ze furt nemuzu pochopit jak se to dela.

A to co tu uvadi Jan Tvrdík je sice hezky ale nemuzu najit jake funkce jsou dostupne a tim padem to nemohu pouzit.
Jsem jinak rad ze mi pomahal.
Jan Tvrdík
Profil
Silver8000:
nemuzu najit jake funkce jsou dostupne
API jsi viděl?

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: