苏州网站快速排名优化,wordpress文章显示会员阅读,直播视频怎么录制,中国网站排名网官网说明转码和编辑视频今天用Android Studio(后面简称AS)里的模拟器给系统录屏#xff0c;用来展示OpenGL可视化的东西#xff0c;打算上传B站#xff0c;后来发现AS只能保存webm格式和GIF格式的视频#xff0c;并且文件体积巨大#xff0c;视频图像也是顺时针旋转的。没办法…说明转码和编辑视频今天用Android Studio(后面简称AS)里的模拟器给系统录屏用来展示OpenGL可视化的东西打算上传B站后来发现AS只能保存webm格式和GIF格式的视频并且文件体积巨大视频图像也是顺时针旋转的。没办法只能找个视频编辑器进行转码和编辑结果发现网上的视频转码工具基本粗制滥造像Adobe PR这样的视频剪辑软件我也没必要下载于是找到了ffmpeg(其实很早之前在树莓派上玩Linux的时候用过)。我进入ffmpeg官网下载了Win64版本下载速度很快下载下来就是一个压缩包解压后就是工具本体了不过它没有任何UI界面在Windows下你只能进入bin目录然后Shift鼠标右键打开命令窗口使用ffmpeg的指令进行操作。如下图可以看到转码效率很高。下面分析网上搜集的ffmpeg简单用法可以进行很多基础的视频编辑。ffmpeg的简单用法转码最简单命令如下ffmpeg -i out.ogv -vcodec h264 out.mp4ffmpeg -i out.ogv -vcodec mpeg4 out.mp4ffmpeg -i out.ogv -vcodec libxvid out.mp4ffmpeg -i out.mp4 -vcodec wmv1 out.wmvffmpeg -i out.mp4 -vcodec wmv2 out.wmv-i 后面是输入文件名。-vcodec 后面是编码格式h264 最佳但 Windows 系统默认不安装。如果是要插入 ppt 的视频选择 wmv1 或 wmv2 基本上万无一失。附加选项-r 指定帧率-s 指定分辨率-b 指定比特率于此同时可以对声道进行转码-acodec 指定音频编码-ab 指定音频比特率-ac 指定声道数例如ffmpeg -i out.ogv -s 640x480 -b 500k -vcodec h264 -r 29.97 -acodec libfaac -ab 48k -ac 2 out.mp4剪切用 -ss 和 -t 选项 从第 30 秒开始向后截取 10 秒的视频并保存ffmpeg -i input.wmv -ss 00:00:30.0 -c copy -t 00:00:10.0 output.wmvffmpeg -i input.wmv -ss 30 -c copy -t 10 output.wmv达成相同效果也可以用 -ss 和 -to 选项 从第 30 秒截取到第 40 秒ffmpeg -i input.wmv -ss 30 -c copy -to 40 output.wmv值得注意的是ffmpeg 为了加速会使用关键帧技术 所以有时剪切出来的结果在起止时间上未必准确。 通常来说把 -ss 选项放在 -i 之前会使用关键帧技术 把 -ss 选项放在 -i 之后则不使用关键帧技术。 如果要使用关键帧技术又要保留时间戳可以加上 -copyts 选项ffmpeg -ss 00:01:00 -i video.mp4 -to 00:02:00 -c copy -copyts cut.mp4合并把两个视频文件合并成一个。简单地使用 concat demuxer示例$ cat mylist.txtfile /path/to/file1file /path/to/file2file /path/to/file3$ ffmpeg -f concat -i mylist.txt -c copy output更多时候由于输入文件的多样性需要转成中间格式再合成ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpgffmpeg -i input2.avi -qscale:v 1 intermediate2.mpgcat intermediate1.mpg intermediate2.mpg intermediate_all.mpgffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi调整播放速度加速四倍ffmpeg -i TheOrigin.mp4 -vf setpts0.25*PTS UpTheOrigin.mp4四倍慢速ffmpeg -i TheOrigin.mp4 -vf setpts4*PTS DownTheOrigin.mp4帧率设置使用-r选项语法是ffmpeg -i input -r fps output例如ffmpeg -i input.avi -r 30 output.mp4使用fps filter另一个设置帧率是用fps filter特别是在filterchains使用时非常有用。例如修改输入文件的帧率到25ffmpeg -v clip.mpg -vf fpsfps25 clip.webm比特率设置比特率也是一个决定音视频总体质量的参数。他决定每个时间单位处理的bit数。设置比特率比特率决定处理1s的编码流需要多少bits设置用-b选项。区分音视频用-b:a和-b:v例如设置整体1.5Mbit每秒ffmpeg -i file.avi -b 1.5M file.mp4ffmpeg -i input.avi -b:v 1500K output.mp4CBR设置CBR设置一般用作直播流比如视频会议。为输出设置CBR,有三个参数必须设置为同一个值。bitrate(-b option), minimal rate(-minrate), maximal rate(-maxrate)。maximal rate需要设置-bufsize选项。例如设置CBR为0.5Mbit/s。ffmpeg -i in.avi -b 0.5M -minrate 0.5M -maxrate 0.5M -bufsize 1M output.mkv设置输出文件的最大size用-fs选项。例如设置输出文件的最大的size为10Mffmpeg -i input.avi -fs 10MB output.mp4文件大小计算文件的大小是是音视频流大小的和。视频流的大小的方程式是(除以8是由bits到bytes的转换):video_size video_bitrate * time_in_seconds / 8;如果音频是解压缩的计算公式是audio_size smpaling_rate * bit_depth * channels * time_in_second / 8;例如计算10分钟的视频 1500kbits/s 视频比特率和 128kbits/s的音频比特率用下面的计算方法file_size video_size audio_size;file_size (video_bitrate audio_bitrate) * time_in_seconds / 8;file_size (1500 kbits/s 128kbits/s) * 600sfile_size 1628kbits/s * 600sfile_size 976800kb 976800000 b / 8 122100000 B / 1024 119238.28125KBfile_size 119238.28125 KB / 1024 116.443634033203125MB 116.44M