Làm cách nào để chạy lệnh ffmpeg trong PHP?

16/07/07 - Đã có gói Debian chính thức. Người dùng Debian hiện có thể cài đặt bằng 'apt-get install php5-ffmpeg'. Xin chân thành cảm ơn Raphael Geissert vì tất cả công việc của anh ấy về vấn đề này và về tất cả các mẹo giúp ffmpeg-php hoạt động tốt với hệ thống đóng gói của Debian. MỘT gói không chính thức cho PHP 4 có sẵn tại kho lưu trữ cá nhân của anh ấy

24/05/07 - Đã có dịch vụ cài đặt ffmpeg và ffmpeg-php. Với $75 USD (qua Paypal), tôi sẽ cài đặt ffmpeg và ffmpeg trên máy chủ Linux của bạn. Email ffmpeg. php@gmail. com để biết thêm thông tin

15/08/06 - Các nguồn ffmpeg-php đã được di chuyển từ CVS sang Subversion. CVS vẫn có sẵn từ dòng lệnh nhưng sẽ không còn được cập nhật

Yêu cầu

  • ffmpeg-0. 4. 9_pre1 hoặc cao hơn
  • php-4. 3. 0 hoặc cao hơn
  • gd-2. 0 trở lên (phiên bản GD đi kèm với PHP cũng hoạt động)

khả năng tương thích

ffmpeg-php không tương thích với swscaler của ffmpeg. Kích hoạt swscaler trong ffmpeg sẽ vô hiệu hóa các chức năng img_convert mà ffmpeg-php cần để thực hiện công việc của nó. Ffmpeg phải được định cấu hình và biên dịch mà không có cờ '--enable-swscale'

Một số người dùng đã đăng các bản dựng Windows lên. Tôi nghe mọi người nói rằng chúng hoạt động rất tốt nhưng tôi chưa có thời gian để kiểm tra chúng một cách cá nhân

Rõ ràng có một số loại xung đột giữa phần mở rộng IMAP của php và ffmpeg-php trong một số trường hợp nhất định. Tiện ích mở rộng IMAP dường như xung đột với một vài tiện ích mở rộng khác nên hiện tại tôi cho rằng đó là sự cố với IMAP

Đặc trưng

  • Giao diện hướng đối tượng đơn giản
  • Khả năng lấy các khung hình từ các tệp phim và trả lại chúng dưới dạng hình ảnh có thể được thao tác bằng các hàm hình ảnh tích hợp sẵn của PHP. Điều này rất tốt để tự động tạo hình thu nhỏ cho các tệp phim
  • Có thể tạo ảnh GIF động từ một loạt khung phim hoặc ảnh GD
  • Có khả năng sử dụng các tính năng lấy mẫu lại và cắt xén tuyệt vời của ffmpeg trên các khung được trả về
  • Cung cấp quyền truy cập vào dữ liệu từ các tệp mp3 như thời lượng, tốc độ bit và thông tin meta theo dõi

Trang web sử dụng ffmpeg-php

Đây là danh sách một số trang web yêu thích của tôi sử dụng ffmpeg-php

  • Opusphp. com - Opus php CMS là một giải pháp thay thế tuyệt vời cho phần mềm CMS/Mạng xã hội được thiết kế vội vàng trên thị trường hiện nay và một ví dụ tuyệt vời khác về cách bạn có thể sử dụng ffmpeg/ffmpeg-php
  • Vimeo. com - Vimeo. com là một trang web cực hay để tổ chức và chia sẻ các video clip. Hãy suy nghĩ. cio. chúng tôi gặp Flickr cho video. ffmpeg-php được sử dụng để tự động thu nhỏ các phim được tải lên trang web. Cảm ơn người tạo ra Vimeo, Jakob Lodwick đã liên kết và động viên
  • Đơn đặt hàng xe lửa. com - Trainorders là một trang web dành cho những người đam mê đường sắt nổi tiếng với một số tính năng độc đáo. Yêu thích của tôi là hệ thống camera kích hoạt chuyển động mới tự động ghi lại các chuyến tàu chạy qua tại các điểm giao cắt đường sắt phổ biến khác nhau. Sau khi ghi xong, phim được tải lên Trainorders. com nơi chúng được thu nhỏ bằng cách sử dụng ffmpeg-php và hiển thị cho người đăng ký. Xin chân thành cảm ơn Todd Clark, quản trị trang web của Trainorders. com, để có cơ hội giúp phát triển điều này
  • patricksaviation. com - Đây là trang web yêu thích của con trai tôi trên internet. Đây là trang web chia sẻ video dành cho những người đam mê hàng không. Vui vẻ. Nếu có một cách sử dụng internet tốt hơn, tôi đã không tìm thấy nó
  • nửa vôi. com - Một trang web chia sẻ video tuyệt vời với giao diện tuyệt vời. Cảm ơn Aleksander Kuprikov về liên kết
  • filelabs. net - Dịch vụ lưu trữ tệp miễn phí
  • www. mobiletoones. com - Rock điện thoại di động của bạn
  • SIG. Thư viện hình ảnh - Thư viện hình ảnh dựa trên web được viết bằng PHP
  • maktoob. com - cổng web tiếng Ả Rập lớn nhất trên thế giới sử dụng rộng rãi ffmpeg. Nhờ Jalal Araidah cho liên kết

Nếu bạn có một trang web để thêm vào danh sách, hãy gửi email cho tôi theo địa chỉ ffmpeg[dot]php[at]gmail[dot]com

Cài đặt

Các hướng dẫn này dành cho Linux. Tôi không biết điều đầu tiên về Windows hoặc Mac

Xây dựng và cài đặt PHP nếu nó chưa được cài đặtGiải nén các nguồn ffmpeg-php
  1. tar -xjf ffmpeg-php-X. x. x. tbz2
Thay đổi thư mục tiện ích mở rộng ffmpeg-php và chạy phpize (có trong bản cài đặt PHP của bạn) để tạo các tệp cấu hình. GHI CHÚ. nếu cài đặt php của bạn không bao gồm phpize, bạn có thể phải cài đặt gói php-dev cho bản phân phối của mình (thường được đặt tên. php-dev, php-devel hoặc tương tự)
  1. cd ffmpeg-php-X.x.x/
  2. phpize
Định cấu hình và xây dựng tiện ích mở rộng. Cài đặt tiện ích mở rộng được chia sẻ. Nếu mọi thứ diễn ra theo kế hoạch, ffmpeg-php hiện đã được cài đặt dưới dạng tiện ích mở rộng được chia sẻ

Cấu hình

Nếu bạn đã tạo ffmpeg-php dưới dạng tiện ích mở rộng dùng chung nhưng muốn cung cấp tiện ích mở rộng này cho tất cả các tập lệnh theo mặc định, hãy thêm extension=ffmpeg.so vào php của bạn. ini để tải ffmpeg-php khi khởi động PHP. Đảm bảo khởi động lại apache khi bạn tải lại php xong. ban đầu

Kiểm tra cài đặt

  • Đặt thư mục test_media và test_ffmpeg. php dưới gốc web của bạn ở đâu đó (đặt cả hai trong cùng một thư mục)
  • Tải test_ffmpeg. php vào trình duyệt của bạn
KẾT QUẢ. Bạn sẽ nhận được danh sách các phương thức được cung cấp bởi mô-đun ffmpeg-php cũng như một số đầu ra thử nghiệm từ các phương thức

Cách sử dụng

Nếu bạn đã cài đặt tiện ích mở rộng ffmpeg-php dưới dạng thư viện dùng chung nhưng chưa đặt nó thành tự động tải trong php của mình. ini, bạn sẽ cần sử dụng hàm PHP dl() để cung cấp ffmpeg-php cho tập lệnh của mình. Thêm mã PHP sau vào phần đầu của tập lệnh mà bạn muốn gọi các phương thức ffmpeg-php trong


$extension = "ffmpeg";
$extension_soname = $extension . "." . PHP_SHLIB_SUFFIX;
$extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;

// load extension
if(!extension_loaded($extension)) {
    dl($extension_soname) or die("Can't load extension $extension_fullname\n");
}
?>

Tài liệu

Tài liệu API

Câu hỏi thường gặp

Q. Tại sao nó không hoạt động với một số phim Quicktime?

A. ffmpeg phải được biên dịch với hỗ trợ zlib để đọc phim Quicktime với các tiêu đề được nén

Q. Tại sao nó không hoạt động với phim?

A. Tiện ích mở rộng ffmpeg-php sử dụng các thư viện ffmpeg để truy cập thông tin video. Một số loại phim có hỗ trợ hạn chế trong ffmpeg. Một số bộ mã hóa tạo phim không chuẩn có thể gây ra sự cố cho ffmpeg. Nếu ffmpeg không thể đọc chính xác phim thì phim sẽ không hoạt động với ffmpeg-php. Tham khảo tài liệu ffmpeg để biết thêm thông tin về hỗ trợ. Nếu ffmpeg-php không đọc được phim, hãy thử sử dụng chương trình dòng lệnh ffmpeg để chuyển đổi phim sang loại khác. Nếu thất bại, thì ffmpeg (và do đó ffmpeg-php) không hỗ trợ loại phim của bạn. Nếu ffmpeg chuyển đổi chính xác thì vấn đề rất có thể là ở ffmpeg-php, trong trường hợp đó bạn có thể báo lỗi cho tôi về vấn đề đó

Q. ffmpeg-php không làm điều kỳ lạ mà tôi thực sự cần. Bạn có thể thêm nó vào chương trình không?

Ffmpeg-php được viết riêng cho một dự án tôi đang làm và hiện đã hoàn thành. Không có sự phát triển liên tục nào ngoài việc giữ cho nó tương thích với API ffmpeg luôn thay đổi (và thậm chí sau đó tôi chỉ chờ ai đó phàn nàn). Điều đó nói rằng, tôi sẵn sàng cho thuê nếu bạn cần phát triển hoặc tùy chỉnh thêm miễn là mã kết quả cũng được tạo thành nguồn mở

Q. Tôi không thể cài đặt nó. Thỏa thuận là gì?

Ffmpeg-php đôi khi có thể gây khó khăn khi cài đặt. Điều này chủ yếu là do thuật lạ mà nó phải thực hiện để phát hiện xem GD có sẵn trong PHP hay không. Đôi khi điều này thất bại mà không có lý do rõ ràng. Thêm vào đó là ffmpeg SVN luôn thay đổi và nó có thể còn phức tạp hơn nữa. Nếu bạn gặp khó khăn, hãy hỏi nhóm Google và ai đó có thể nói chuyện với bạn về điều đó. Nếu bạn thực sự gặp khó khăn, tôi rất sẵn lòng cài đặt ffmpeg và ffmpeg-php (và bất kỳ điều kiện tiên quyết nào khác để chia sẻ video) trên máy chủ của bạn với giá 75 đô la. Tôi sẽ cần quyền truy cập root ssh vào máy và khoảng 45 phút. (Chỉ dành cho Linux, tôi không phải là người dùng Windows) Vui lòng liên hệ với tôi để biết chi tiết. ffmpeg. php@gmail. com

Nhận xét

Nếu bạn thấy ffmpeg-php hữu ích, muốn báo cáo lỗi hoặc muốn yêu cầu một tính năng, vui lòng sử dụng trang dự án SourceForge

Làm cách nào để sử dụng ffmpeg trong PHP?

Ví dụ mã PHP của php-ffmpeg / php-ffmpeg .
Truy cập trang này và tải xuống thư viện. Tải xuống thư viện php-ffmpeg/php-ffmpeg. Chọn loại tải xuống yêu cầu
Giải nén tệp ZIP và mở chỉ mục. php
Thêm mã này vào chỉ mục. php

Lệnh ffmpeg là gì?

FFmpeg là một dự án phần mềm mã nguồn mở và miễn phí bao gồm một bộ thư viện và chương trình để xử lý video, âm thanh cũng như các tệp và luồng đa phương tiện khác. Cốt lõi của nó là công cụ ffmpeg dòng lệnh, được thiết kế để xử lý các tệp video và âm thanh .

Làm cách nào để sử dụng ffmpeg trong laravel?

Cách sử dụng. Chuyển đổi tệp âm thanh hoặc video. FFMpeg. fromDisk('bài hát') ->open('hôm qua. mp3') ->export() ->toDisk('converted_songs') ->inFormat(new \FFMpeg\Format\Audio\Aac) ->save('hôm qua.

ffmpeg trong Linux là gì?

ffmpeg là tiện ích CLI (dựa trên dòng lệnh) để xử lý tệp phương tiện . Nó là một khung với vô số tính năng và do có giấy phép nguồn mở nên nó là cơ sở cho nhiều ứng dụng phổ biến như VLC, YouTube, iTunes và nhiều ứng dụng khác. Một số trình chỉnh sửa video Linux sử dụng ffmpeg bên dưới GUI.