程序运行环境:lnamp
centos 6.8 nginx 1.6 apache 2.4 mysql 5.5 php 5.6
遇到问题:
1,js 上传文件,由于文件服务器不是本地服务器,单独配置的文件服务器,js 跨域问题解决
2,视频上传限制修改 centos 上修改起来简单,只需要修改php.ini
upload_max_filesize = 4000m
post_max_size = 4000m
重启服务 生效解决。
windows server 上 IIS 要修改限制,另外还有站点文件权限问题。头痛的事情挺多。如果是windows有问题可以发过来看下
3,php视频切片
开始:
下载调试 上传视频js ,我这里用的是github 上的 jquery fileupload
插件下载地址:https://github.com/blueimp/jQuery-File-Upload/
配置上传文件URL地址,设置最大上传限制,文件类型,文件上传成功回调。
2,Centos视频切片
安装ffmpeg
1,先安装依赖 yasm
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz tar -zxvf yasm-1.3.0.tar.gz cd yasm-1.3.0 ./configure make make install
2,安装 ffmpeg
wget http://ffmpeg.org/releases/ffmpeg-3.4.1.tar.gz tar -zxvf ffmpeg-3.4.1.tar.gz cd ffmpeg-3.4.1 ./configure make make install
3 , 安装成功
[root@iZ25o0ipjpmZ ~]# ffmpeg -version ffmpeg version 3.1 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17) configuration: libavutil 55. 27.100 / 55. 27.100 libavcodec 57. 48.101 / 57. 48.101 libavformat 57. 40.101 / 57. 40.101 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 46.102 / 6. 46.102 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 Unrecognized option '-version'. Error splitting the argument list: Option not found [root@iZ25o0ipjpmZ ~]#
不废话了直接上切片处理代码:
1、转码 >>mp4
if(PHP_OS == 'WINNT'){ $cmd = $_SERVER['DOCUMENT_ROOT']."/ffmpeg.exe -i ".$file_path." -y -vcodec copy ".$new_file_path; }else{ $cmd = "ffmpeg -i ".$file_path." -y -vcodec copy ".$new_file_path; }
2、切片 自动截视频封面
if(PHP_OS == 'WINNT'){ $cmd_ts = $_SERVER['DOCUMENT_ROOT']."/ffmpeg.exe -i ".$file_path." -c: copy -f segment -segment_list ".$new_path.".m3u8 -segment_time 1 ".$new_path."%03d.ts"; $cmd_thumb = $_SERVER['DOCUMENT_ROOT']."/ffmpeg.exe -i ".$file_path." -ss 00:00:05 -f image2 ".$thumbs; }else{ $cmd_ts = "ffmpeg -i ".$file_path." -c: copy -f segment -segment_list ".$new_path.".m3u8 -segment_time 1 ".$new_path."%03d.ts"; $cmd_thumb = "ffmpeg -i ".$file_path." -ss 00:00:05 -f image2 ".$thumbs; }
WINNT 判断是否为windows服务器
linux系统测试命令:
转码:ffmpeg -i zxyx.mp4 -y -vcodec copy zxyx/a.mp4 切片:ffmpeg -i zxyx.mp4 -c: copy -f segment -segment_list zxyx/zxyx.m3u8 -segment_time 1 zxyx/zxyx.m3u8%03d.ts
如果服务器环境没问题的话,基本上就这样搞定了。