承接 bashencode/ffmpeg-php-class 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

bashencode/ffmpeg-php-class

Composer 安装命令:

composer require bashencode/ffmpeg-php-class

包简介

README 文档

README

IMPORTANT!

This class will be deprecated as of Friday April 11, 2014.

For compatibility, we recommend using the Clip project( with FFmpeg plugin ).

FFmpeg Class ( Without ffmpeg-php )

A complete cross-platform class for using FFmpeg written in PHP 5.3+

IMPORTANT!

This class don't depend of ffmpeg-php php extension.

Requirements

  • FFmpeg 0.5.12+
  • PHP 5.3+
    • PCRE( Perl-Compatible )

Examples

Example #1: Input & output.

    <?php
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->input( '/var/media/original.mp4' )->output( '/var/media/new.3gp' )->ready();
    ?>

Example #2: Simple frame rate.

    <?php
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->input( '/var/media/original.mp4' )->frameRate( '30000/1001' )->output( '/var/media/new.3gp' )->ready();
    ?>

Example #3: Simple frame rate using method alias.

    <?php
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->i( '/var/media/original.mp4' )->r( '30000/1001' )->output( '/var/media/new.3gp' )->ready();
    ?>

Example #4: Rotate video.

    <?php
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->input( '/var/media/original.mp4' )->transpose( 2 )->output( '/var/media/new.3gp' )->ready();
    ?>

Example #5: Rotate video with alias "rotate".

    <?php
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->input( '/var/media/original.mp4' )->rotate( 2 )->output( '/var/media/new.3gp' )->ready();
    ?>

Example #6: Force format.

    <?php
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->input( '/var/media/original.mp4' )->forceFormat( '3gp' )->output( '/var/media/new.3gp' )->ready();
    ?>

Example #7: Force format quickly.

    <?php
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->input( '/var/media/original.mp4' )->output( '/var/media/new.3gp' , '3gp' )->ready();
    ?>

Example #8: Get command

    <?php
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->input( '/var/media/original.mp4' )->output( '/var/media/new.3gp' )->command;
    ?>

Example #9: Run command.

    <?php
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->input( '/var/media/original.mp4' )->output( '/var/media/new.3gp' )->ready();
    ?>

Example #10: Gray Scale.

    <?php
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->input( '/var/media/original.mp4' )->grayScale()->output( '/var/media/new.3gp' )->ready();
    ?>

Example #11: Set param.

    <?php
    	$key = 'acodec';
    	$value = 'AAC';
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->input( '/var/media/original.mp4' )->set($key,$value)->output( '/var/media/new.3gp' )->ready();
    ?>

Example #12: Unset param.

    <?php
    	$key = 'acodec';
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->input( '/var/media/original.mp4' )->unset($key)->output( '/var/media/new.3gp' )->ready();
    ?>

Example #13: Quick methods

    <?php
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->input( '/var/media/original.mp4' )->sameq()->output( '/var/media/new.3gp' )->ready();
    ?>

Example #14: Flip ( V or H )

    <?php
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->input( '/var/media/original.mp4' )->flip( 'v' )->output( '/var/media/new.3gp' )->ready();
    ?>

Example #15: hflip

    <?php
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->input( '/var/media/original.mp4' )->hflip()->output( '/var/media/new.3gp' )->ready();
    ?>

Example #16: vflip

    <?php
    	$FFmpeg = new FFmpeg;
    	$FFmpeg->input( '/var/media/original.mp4' )->vflip()->output( '/var/media/new.3gp' )->ready();
    ?>

Example #17: Complete

    <?php
	/**
	*	include FFmpeg class
	**/
	include DIRNAME(DIRNAME(__FILE__)).'/src/ffmpeg.class.php';
	
	/**
	*	get options from database
	**/
	$options = array(
		'duration'	=>	99,
		'position'	=>	0,
		'itsoffset'	=>	2,
	);
	/**
	*	Create command
	*/
	$FFmpeg = new FFmpeg( '/usr/local/bin/ffmpeg' );
	$FFmpeg->input( '/var/media/original.avi' );
	$FFmpeg->transpose( 0 )->vflip()->grayScale()->vcodec('h264')->frameRate('30000/1001');
	$FFmpeg->acodec( 'aac' )->audioBitrate( '192k' );
	foreach( $options AS $option => $values )
	{
		$FFmpeg->call( $option , $values );
	}
	$FFmpeg->output( '/var/media/new.mp4' , 'mp4' );
	print($FFmpeg->command);
	?>
/usr/local/bin/ffmpeg -y -vf transpose=0,vflip -pix_fmt gray -vcodec h264 -r 30000/1001 -acodec aac -ab 192k -t 99 -ss 0 -itsoffset 2 -f mp4 /var/media/new.mp4 /dev/null 2<&1

Example #18: Clear

	<?php
	$FFmpeg = new FFmpeg('/bin/ffmpeg','/var/media/original.mp4')->vflip()->output( '/var/media/new.3gp' )->clear()->input( '/var/www/file.3gp' );
	?>

Example #19: Thumbs

	<?php
	$size = '100x100';
	$start = 1;
	$frames = 10;
	
	$FFmpeg = new FFmpeg;
	$FFmpeg->input( '/var/www/video.mp4' )->thumb( $size , $start, $frames )->ready();
	?>

Example #20: Image to video

	<?php
	$FFmpeg = new FFmpeg;
	$FFmpeg->input( '/var/www/images/pref%04d.png' )->frameRate( '29,97' )->size( '1920x1080' )->force('image2');
	$FFmpeg->output( 'image2video.mp4' );
	$FFmpeg->ready();
	?>

Example #21: Set the FFmpeg binary file on Windows

	<?php
	$FFmpeg = new FFmpeg( "C:\ffmpeg\bin\ffmpeg.exe" );
	$FFmpeg->input( 'C:\xampp\input.mp4' )->output( 'output.3gp' );
	$FFmpeg->ready();
	?>

Example #22: Set the FFmpeg binary file on Linux & Unix

	<?php
	$FFmpeg = new FFmpeg( "/etc/bin/ffmpeg" );
	$FFmpeg->input( '/var/www/input.mp4' )->output( 'output.3gp' );
	$FFmpeg->ready();
	?>

Example #23: Log level

	<?php
	$FFmpeg = new FFmpeg;
	$FFmpeg->input( '/var/www/input.mp4' )->loglevel("debug")->output( 'output.3gp' );
	$FFmpeg->ready();
	?>

Got more ideas? write us.

Need support? Write us, it's free! olaftriskel@gmail.com

Want to donate or just give me a coffee?

Remember:

  • This is an open source project and free.
  • Share our repository.
  • If possible, write a letter of recommendation.
  • The support is free! Please contact us if you have questions or a problem.

Author

Pro Buy Now ** 2Checkout.com Inc. (Ohio, USA) is a payment facilitator for goods and services provided by heliotres.cl. **

统计信息

  • 总下载量: 1.57k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 38
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2015-10-26