sirlion 发表于 2025-6-29 21:14

flv这种格式的网络推流, 包含不同分辨率, 如何快转?

直播的推流flv, 里面包含不同的分辨率, 因为直播可能打pk或者卡顿改低分辨率, 整个视频如果直接播放flv是可以自动切换分辨率的


但是如果转码成mp4, 用ffmpeg的默认转码命令, ffmpeg -i "%%a" -c copy "output\%%~na.mp4, 速度很快基本等于复制, 但是一旦涉及分辨率变换, 变换之后的画面就全部变绿屏乱码, 等分辨率切回去才正常

如果即想要快转, 几乎等于复制文件的速度, 又想要解决分辨率切换的问题, 要如何+命令呢?

PS: flv直接播放有个问题就是无法拖动进度条, 时间跨度一大就会卡很久很久

就咋的 发表于 2025-6-29 21:53

设置分辨率为 1920x1080
ffmpeg -i "%%a" -c copy -s 1920x1080 "output\%%~na.mp4

使用缩放滤镜,指定比例 1920:1080
ffmpeg -i "%%a" -c copy -vf scale=1920:1080 "output\%%~na.mp4

指定宽度 1920, 高度按原视频比例缩放
-vf scale=1920:-1

同上
-vf scale=-1:1080

GJRstone 发表于 2025-6-29 22:04

flv是容器格式吧,里面视频流还是要看编码的

litel 发表于 2025-6-30 23:40

播放器问题?用ffplay播放会花吗 。。试试mpv呢

循此苦旅 发表于 2025-7-1 08:32

flv拖进度条可以用这个参数加上关键帧索引 -flvflags add_keyframe_index
但感觉不如直接转MP4
页: [1]
查看完整版本: flv这种格式的网络推流, 包含不同分辨率, 如何快转?