ubuntu 装配 ffmpeg php-ffmpeg
ubuntu 安装 ffmpeg php-ffmpeg
?? 最近在做一个视频网站安装本地环境费了不少时间。本地是ubuntu 9.10 而服务器是redhat as4 所以到时候本人会把服务器安装过程和大家分享出来。
本人环境如下
- php —- 5.210
- apache 2.2
- ubuntu 9.10
- ffmpeg 功能很强大包括视频抓图,视频信息,视频转换,在线视频录制,而且是免费的。所有一般的视频网站都会采用他。
- 本人首先是采用编译安装,但是一直都没有成功。编译过程中出现了很多问题。安装要使用ffmpeg往往需要编译很多包。感觉很麻烦。这些包又依赖于很多其他包。安装顺序也有要求。所以放弃了。
- 最终采用ubuntu 强大的 apt-get (使用dpkg进行安装) 进行安装(当然cenos,red hat这类使用rpm的系统都可以使用yum进行安装,具体的安装方法可以在本站进行查找).
- apt-get 安装步骤如下:
sudo apt-get update ##更新以下源
sudo apt-get install ffmpeg
sudo apt-get install php5-ffmpeg
sudo apt-get install mencoder
sudo apt-get install flvtool2 ##视频转换flv
sudo apt-get install lame ##音频
sudo apt0get install yasm - 编译安装ffmpeg 如下:
从 http://ffmpeg.mplayerhq.hu 下载
./configure –help ##查看有那些参数
./configure–prefix=/usr–enable-gpl–enable-shared–enable-libmp3lame–enable-libamr_nb–enable-libogg–enable-libvorbis–enable-libxvid–enable-liba52–enable-liba52bin–enable-pp–enable-libfaad–enable-libfaadbin–enable-libfaac–enable-pthreads–disable-ffserver–enable-x11grab
如果报错则安装该包,或者直接去掉该参数,只需要配置自己使用过程中需要使用到的就行了。
make & make install
其他的则一个一个的下载解压在编译就是了。
- 下面是php-ffmpeg 使用的api。功能是很少了。?
$movie = new ffmpeg_movie(String path_to_media, boolean persistent) Open a video or audio file and return it as an object.path_to_media - File path of video or audio file to open.persistent - Whether to open this media as a persistent resource. See the PHP documentation for more info about persistent resources$movie->getDuration() Return the duration of a movie or audio file in seconds.$movie->getFrameCount() Return the number of frames in a movie or audio file.$movie->getFrameRate() Return the frame rate of a movie in fps.$movie->getFilename() Return the path and name of the movie file or audio file.$movie->getComment() Return the comment field from the movie or audio file.$movie->getTitle() Return the title field from the movie or audio file.$movie->getAuthor() alias $movie->getArtist() Return the author field from the movie or the artist ID3 field from an mp3 file.$movie->getCopyright() Return the copyright field from the movie or audio file.$movie->getArtist() Return the artist ID3 field from an mp3 file.$movie->getGenre() Return the genre ID3 field from an mp3 file.$movie->getTrackNumber() Return the track ID3 field from an mp3 file.$movie->getYear() Return the year ID3 field from an mp3 file.$movie->getFrameHeight() Return the height of the movie in pixels.$movie->getFrameWidth() Return the width of the movie in pixels.$movie->getPixelFormat() Return the pixel format of the movie.$movie->getBitRate() Return the bit rate of the movie or audio file in bits per second.$movie->getVideoBitRate() Return the bit rate of the video in bits per second.NOTE: This only works for files with constant bit rate. $movie->getAudioBitRate() Return the audio bit rate of the media file in bits per second.$movie->getAudioSampleRate() Return the audio sample rate of the media file in bits per second.$movie->getFrameNumber() Return the current frame index.$movie->getVideoCodec() Return the name of the video codec used to encode this movie as a string.$movie->getAudioCodec() Return the name of the audio codec used to encode this movie as a string.$movie->getAudioChannels() Return the number of audio channels in this movie as an integer.$movie->hasAudio() Return boolean value indicating whether the movie has an audio stream.$movie->hasVideo() Return boolean value indicating whether the movie has a video stream.$movie->getFrame([Integer framenumber]) Returns a frame from the movie as an ffmpeg_frame object. Returns false if the frame was not found.framenumber - Frame from the movie to return. If no framenumber is specified, returns the next frame of the movie.$movie->getNextKeyFrame() Returns the next key frame from the movie as an ffmpeg_frame object. Returns false if the frame was not found.
Copy after login - 如果需要给视频抓图择需要使用shell脚本。也就是用到php当中的(system,exec,passthru)这类执行外部命令函数。
往往很多服务器都将种类函数视为危险函数屏蔽掉了。所以想做视频网站对服务器的配置要求比较高。
当然最好是自己的独立服务器。vps 也可以。随便你怎么整都可以。
?
测试用例:ffmpeg-execute.php
本文链接地址: ubuntu 安装 ffmpeg php-ffmpeg

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



To learn more about open source, please visit: 51CTO Hongmeng Developer Community https://ost.51cto.com Running environment DAYU200:4.0.10.16SDK: 4.0.10.15IDE: 4.0.600 1. To create an application, click File- >newFile->CreateProgect. Select template: [OpenHarmony] EmptyAbility: Fill in the project name, shici, application package name com.nut.shici, and application storage location XXX (no Chinese, special characters, or spaces). CompileSDK10, Model: Stage. Device

Use Java's File.length() function to get the size of a file. File size is a very common requirement when dealing with file operations. Java provides a very convenient way to get the size of a file, that is, using the length() method of the File class. . This article will introduce how to use this method to get the size of a file and give corresponding code examples. First, we need to create a File object to represent the file we want to get the size of. Here is how to create a File object: Filef

How to convert php blob to file: 1. Create a php sample file; 2. Through "function blobToFile(blob) {return new File([blob], 'screenshot.png', { type: 'image/jpeg' })} ” method can be used to convert Blob to File.

The usage of return in C language is: 1. For functions whose return value type is void, you can use the return statement to end the execution of the function early; 2. For functions whose return value type is not void, the function of the return statement is to end the execution of the function. The result is returned to the caller; 3. End the execution of the function early. Inside the function, we can use the return statement to end the execution of the function early, even if the function does not return a value.

Editor of Machine Power Report: Wu Xin The domestic version of the humanoid robot + large model team completed the operation task of complex flexible materials such as folding clothes for the first time. With the unveiling of Figure01, which integrates OpenAI's multi-modal large model, the related progress of domestic peers has been attracting attention. Just yesterday, UBTECH, China's "number one humanoid robot stock", released the first demo of the humanoid robot WalkerS that is deeply integrated with Baidu Wenxin's large model, showing some interesting new features. Now, WalkerS, blessed by Baidu Wenxin’s large model capabilities, looks like this. Like Figure01, WalkerS does not move around, but stands behind a desk to complete a series of tasks. It can follow human commands and fold clothes

Use Java's File.renameTo() function to rename files. In Java programming, we often need to rename files. Java provides the File class to handle file operations, and its renameTo() function can easily rename files. This article will introduce how to use Java's File.renameTo() function to rename files and provide corresponding code examples. The File.renameTo() function is a method of the File class.

In computers, enable refers to enabling or activating a certain function or option. In the computer field, enable is usually used to describe the process of enabling a certain function or option in software or hardware. Detailed introduction: 1. In terms of software, enable usually refers to enabling a certain function in an application or operating system; 2. In terms of hardware, enable usually refers to enabling a certain device or interface in a computer system.

Source code: publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}#Output The output of the above code can simply conclude: return is executed before finally. Let's take a look at what happens at the bytecode level. The following intercepts part of the bytecode of the case1 method, and compares the source code to annotate the meaning of each instruction in
