博文

FFmpeg连接两个视频后没有声音

视频1: 无声音,由图片生成的视频 视频2: 有声音 使用 anullsrc过滤器 制作无声音频流。滤波器允许您选择所需的通道布局(单声道,立体声,5.1等)和采样率 ffmpeg -y -r 30 -f image2 -loop 1 -i %input% -pix_fmt yuvj420p -t %duration%  -vcodec libx264 %output_tmp% ffmpeg -y -i %output_tmp% -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 -c:v copy -shortest %output%

FFmpeg剪辑视频

图片
 原视频: 视频1,时长1分钟 视频2,时长2分钟10秒 片头 片尾 水印,.jpg 封面,.jpg 标题,.jpg 剪辑思路: 将视频1下半部分3/5区域模糊 将模糊后的视频尺寸缩放到和视频2一致 将视频2从中间裁剪出一半宽尺寸的视频 将裁剪的视频提取出关键帧图片 将第一张和最后一张关键帧图片转为5秒视频 将两个5秒视频拼接到裁剪视频的前后 将拼接的视频再与拼接的视频再次拼接,使时长与视频1一致 将模糊后的视频1与拼接后的视频2按左右并列的方式拼接,可同时播放 将左右拼接后的视频添加动态水印,水印随着播放时间移动 将添加水印后的视频与标题拼接 将添加标题后的视频再与片头片尾拼接 将添加片头片尾的视频再添加上封面 使用命令: 模糊 ffmpeg -y -i %input% -filter_complex "[0:v]crop=iw:ih*2/5:0:0[top];[0:v]crop=iw:ih*3/5:0:ih*2/5,boxblur=30[bottom];[top][bottom]vstack" -c:a copy %output% 尺寸 set scale=1920:2160 set input=%1 set output=%~dp1%~n1_%~n0%~x1  ffmpeg -y -i %input% -vf scale=%scale% %output% 中间裁剪 关键帧 set iframe=%~dp1%~n1_%~n0 set input=%1 set output=%~dp1%~n1_%~n0\%~n1_%%03d.jpg md %iframe% ffmpeg -y -i %input% -vf "select='eq(pict_type\,I)'" -vsync vfr %output%  图片转视频 set duration=5 set input=%1 set output=%~dp1%~n1_%~n0.mp4 :-loop 1 :因为只有一张图片所以必须加入这个参数(循环这张图片) :-pix_fmt:指定图片输入格式(有yuv420,yuv444等各种格式) :-t :图片转换成视频的持续时长,单位是秒(S),必须指定该值,否则会无限制生成视频 :-vcodec libx264:生成视频的...

FFmpeg录制视频

  指定的窗口、不包含声音、不包含鼠标 ffmpeg -f gdigrab -draw_mouse 0 -i title=Spectrum out.mpg -y 指定的窗口:title=Spectrum,窗口标题 不包含鼠标:-draw_mouse 0, 默认1 不包含声音:gdigrab 无法录制声音

Youtube视频链接rr4升级rr5

图片
rr4版本的视频链接 ['streamingData']['adaptiveFormats'][0]['url'] rr5版本的视频链接 ['streamingData']['adaptiveFormats'][0][' signatureCipher '] rr4 与 rr5 对比 rr5 暂时无法下载

Twitter视频下载地址分析

图片
 选择(最后一个)码流(比特率 bitrate)大的, 会更清晰 下面对比两个不同比特流下载的视频, 可以看出一个是 1280 * 720, 一个是 640 * 360 转为 2560 * 1440,YouTube频道中推荐的尺寸和长宽比,2560 x 1440像素。 ffmpeg -i D:\迅雷下载\Nt8NMZkS77NWzggL.mp4 -vf "scale=2560:1440" D:\迅雷下载\Nt8NMZkS77NWzggL-2560x1440.mp4

BiliBili如何获取高清视频链接

图片
  只能看 480P 记录一下 有待进一步研究

Youtube上传多视频流测试

图片
 有个大胆的想法 将本地视频, 复制一份,其中一份做模糊处理, 另一份保留原始视频不处理, 将这两个视频合并为一个多轨道(多视频流)视频,时间长度不变,大小翻倍, 默认播放做了模糊处理之后的视频,通过ffplay命令加特殊参数可以播放原始视频, 将此视频上传 Youtube,再下载下来播放,看能否播放原始视频。 下面开始测试: 生成一份模糊视频 ffmpeg -i dbc11.mp4 -filter_complex "[0:v]crop=iw:ih*2/5:0:0[top];[0:v]crop=iw:ih*3/5:0:ih*2/5,boxblur=18[bottom];[top][bottom]vstack" -c:a copy dbc12.mp4 生成多视频流视频 ffmpeg -i dcb11.mp4 -i dbc12.mp4 -map 0:v:0 -map 1:v -map 0:a -map 1:a -c copy -y mixdbc.mp4 播放多视频流视频,默认播放“最佳”的视频 ffplay mixdbc.mp4 指定视频流参数播放 ffplay -vst 0 -i mixdbc.mp4 -fs ffplay -vst 1 -i mixdbc.mp4 -fs 注: 设置多视频流的默认视频流 ffmpeg -i mix5.mp4 -map 0:v:1 -map 0:v:0 -map 0:a -c:v copy -c:a copy -y mix7.mp4 将视频上传到 Youtube https://www.youtube.com/watch?v=JO5CFCaT0Sc 上传完成 将视频下载下来 很遗憾被油管处理了,变成了单个视频流视频 很明显,这个骚操作失败,另寻他法。