开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 894|回复: 0
收起左侧

[易相关软件分享] 源代码:视频转换器命令开发

[复制链接]
头像被屏蔽
发表于 2024-2-4 19:47:36 | 显示全部楼层 |阅读模式   黑龙江省佳木斯市
工具下载地址:https://videosmusic.lanzn.com/s/cmd
【GIF】单格式分辨率
ffmpeg -i "./mp4/1.mp4" -b 568k -r 20 -vf fps=20,scale=16:16:flags=lanczos,palettegen -y ./GIF/调色板.png
ffmpeg -i "./mp4/1.mp4" -i ./GIF/调色板.png -r 15 -lavfi "fps=15,scale=540:960:flags=lanczos[x];[x][1:v]paletteuse" -y 半成品.gif

【QLV转MP4】单格式
Qlv2Mp4er "纸画皮.qlv" temp.ts 纸画皮.mp4 输出信息

高级命令:
--[1Qsv2Flv]--同源文件输出视频
;[Qsv2Flv 测试.qsv 半成品.FLV]

--[1920 × 804]--同源文件输出视频
;[ffmpeg -hide_banner -y -i 半成品.FLV -s 1024x768 -c copy -max_muxing_queue_size 34500 -map 0 成品.mp4 -progress {输出信息}]

超级命令:
--[1920 × 1080]--
;[ffmpeg -hide_banner -y -i 半成品.FLV -to 5924.08 -c:v libx264 -s 1920x1080 -b:v 3000k -ss 0 -to 5924.08 -r 30 -c:a aac -ac 2 -ar 44100 -b:a 128k -filter_complex [0:v]scale='trunc(min(1920,1080*dar)/2)*2':'trunc(min(1920/dar,1080)/2)*2',setsar=1:1,pad=1920:1080:trunc((1920-iw)/2):trunc((1080-ih)/2):black -preset superfast -max_muxing_queue_size 34500 -map 0 成品.mp4 -progress {输出信息}]

【QSV转MP4】单格式
--[1280 × 720]--
;[ffmpeg -hide_banner -y -i 半成品.FLV -to 5924.08 -c:v libx264 -s 1280x720 -b:v 2500k -ss 0 -to 5924.08 -r 30 -c:a aac -ac 2 -ar 44100 -b:a 128k -filter_complex [0:v]scale='trunc(min(1280,720*dar)/2)*2':'trunc(min(1280/dar,720)/2)*2',setsar=1:1,pad=1280:720:trunc((1280-iw)/2):trunc((720-ih)/2):black -preset superfast -max_muxing_queue_size 34500 -map 0 成品.mp4 -progress {输出信息}]

【9比16】多格式

易语言开发音视频转换学术案例:

;第一步取帧数
;[ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1 mp4/原视频.mp4]
获取结果:158474

易代码:获取结果:158474[编辑框]

;第二步解帧
;[ffmpeg -r 25 -i mp4/原视频.mp4 -qscale:v 1 -vframes 1 -s 1920x1080 -aspect 9:16 -vframes 158474 tmp/%d.png -y]
解出结果:158474

易代码:获取结果:-r 25[编辑框] -vframes 158474[编辑框] mp4/原视频.mp4[编辑框] -s 540x960[编辑框] -aspect 9:16[编辑框] tmp/%d.png[默认指定位置]

-qscale <数值> 以<数值>质量为基础的VBR,取值0.01-255,约小质量越好
-qmin <数值> 设定最小质量,与-qmax(设定最大质量)共用,比如-qmin 10 -qmax 31
-r 24 fps设置为24帧/秒(帧数16647 ÷ 694秒 = 23.98703170028818 四舍五入1秒 24帧 -r 24);
-s 设置输出文件的分辨率,wxh;
-vframes 设置获取的帧数
-aspect 设置比例

;第三步提取音频
;[ffmpeg -i mp4/原视频.mp4 -b:a 192k -ar 48000 -ac 2 -y -acodec libmp3lame -aq 0 mp3/1.mp3 -y]
候选:
;[ffmpeg -i mp4/原视频.mp4 -acodec copy -vn m4a/1.m4a -y]
;[ffmpeg -i mp4/原视频.mp4 -y -acodec libmp3lame -aq 0 mp3/1.mp3 -y]

-i 设定输入流
-y 对输出文件进行覆盖
-b:a 音频码率
-ar 设定采样率
-ac 设定声音的 Channel 数
-aq 设置音频质量(指定编码)

;第四步音视频合并
原视频:00:11:34:11分 × 60秒 + 34秒 = 694秒
原视频:00:11:34:帧数16647 ÷ 694秒 = 23.98703170028818 四舍五入1秒 24帧 -r 24
;[ffmpeg -threads 2 -y -r 25 -start_number 1 -i tmp/%d.png -i mp3/1.mp3 -absf aac_adtstoasc -vcodec libxvid -qscale 7 -dts_delta_threshold 1 video.mp4 -y]
候选:
;[ffmpeg -r 24 -start_number 1 -i tmp/%d.png -vf fps=24 video.mp4 -y]
;[ffmpeg -i video.mp4 -i ./m4a/1.m4a -vcodec libx264 -acodec libmp3lame 成品.mp4 -y]
;[ffmpeg -threads 2 -y -i video.mp4 -b:v 400k -s 540x960 -vcodec libx264 压缩处理.mp4 -y]

-start_number 1 起始帧号为从第一帧开始合并;
-vn 不处理视频
-vcodec 设定视频编解码器,如果用 copy 表示原始编解码数据必须被拷贝;
-acodec 设定声音编解码器,如果用 copy 表示原始编解码数据必须被拷贝;
-vf 视频过滤器
-absf aac_adtstoasc 将音频格式转为faac是因为在iphone上某些音频格式的视频无法播放,例如mp3. 但faac格式的音频的视频在iphone上可以播放
-b:v 输出文件的码率,一般500k左右即可,人眼看不到明显的闪烁,设置越低视频越小;
-threads 2 以两个线程进行运行,加快处理的速度;


【VR360】

官方示例:实现从ERP到立方体的转换:


ffmpeg -i .\mp4\1.mp4 -vf v360=e:c3x2:cubic:out_pad=0.01 1.mkv


解释一下参数的含义:
最基本的参数格式如下:
v360=input_format:output_format
其中input_format和output_format分别是原始投影格式和目标投影格式。
e: ERP 投影格式
c: 立方体投影格式
c3x2: c后面加3x2指的是输出立方体视频的排列方式。目前支持三种:3x2, 1x6, 6x1
如果对于输入输出中的格式还有额外的参数要求,使用如下格式:
v360=input_format:output_format:format_1:arg_name=value
这里format_1指某个你要具体设置的格式,在冒号后面用arg_name= value的格式加具体参数。
在这个官方示例中,对于立方体还有额外的参数设置: cubic:out_pad=0.01, 这个是指立方体每个面要向外padding的像素数量是边长的1%。具体实现方式还不清楚

v360支持的视频格式
Format argument        Full name        Notes
‘e’, ‘equirect’        Equirectangular       
‘c3x2’, ‘c6x1’, ‘c1x6’        Cubemap with 3x2/6x1/1x6 layout        大量额外设置可选
‘eac’        Equi-Angular Cubemap       
‘tsp’        Truncated square pyramid

4. 立方体(cubemap)额外参数设置
4.1 Padding
4.2 设置不同面输出顺序
使用参数out_forder设置六个用何种顺序排列。对于c3x2, 各个面按从左到右,从上到下排列:
举例:


ffmpeg -i .\mp4\1.mp4 -vf v360=e:c3x2:cubic:out_forder='rludfb' 2.mkv


这个命令是指立方体的六个面按right, left, up, down, front, back的顺序输出。这个也是默认顺序。
注意,如果输入的视频不是默认顺序,则需要用in_forder来声明输入的顺序。举例:
ffmpeg -i input.mkv -vf v360=c3x2:e:cubic:in_forder='rludfb' 2.mkv
4.3 分别设置每个面的旋转角度
使用参数in_frot和out_frot设置每个面的顺时针旋转角度。举例:


ffmpeg -i .\mp4\1.mp4 -vf v360=e:c3x2:cubic:out_frot='000012' 3.mkv


这个命令会将输出的第五个面旋转90度,第六个面旋转180度。
默认是’000000’, 使用0 1 2 3 代表0 90 180 270度的旋转

4.4 设置欧拉角旋转
使用参数yaw, pitch, roll 可以对输出的视频做指定的旋转。
举例:如果要将视角向右偏移90度,即yaw=90,可以使用如下命令:


ffmpeg -i .\mp4\1.mp4 -vf v360=e:c3x2:cubic:yaw=90 4.mkv



QQ截图20240204194634.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表