利用ffmpeg分析视频流

ffprobe -show_packets -i "rtsp://192.168.61.46:8554/live?channel=0&type=0":该命令用于显示 RTSP 流中的数据包信息,例如时间戳、大小、持续时间等。

ffprobe -i "rtsp://192.168.61.46:8554/live?channel=0&type=0":该命令用于显示输入 RTSP 流的基本信息,例如时长、编解码器、分辨率等。

ffprobe -show_format -i "rtsp://192.168.61.46:8554/live?channel=0&type=0":该命令用于显示输入 RTSP 流的格式信息,例如容器格式、音视频流信息等。

ffprobe -show_frames -i "rtsp://192.168.61.46:8554/live?channel=0&type=0":该命令用于显示输入 RTSP 流的帧信息,例如帧类型、时间戳、关键帧标志等。

ffprobe -show_streams -i "rtsp://192.168.61.46:8554/live?channel=0&type=0":该命令用于显示输入 RTSP 流的流信息,例如音视频流的基本信息、编解码器参数等。

ffprobe -show_pixel_formats -i "rtsp://admin:test1234@192.168.42.234:554/h264/ch33/main/av_stream":该命令用于显示输入 RTSP 流支持的像素格式。

ffprobe -show_data -i "rtsp://192.168.61.46:8554/live?channel=0&type=0":该命令用于显示输入 RTSP 流的数据信息,例如每个数据包的字节内容。

显示媒体文件的帧率、码率等信息:

ffprobe -i input.mp4 -show_entries stream=codec_type,codec_name,bit_rate,r_frame_rate,sample_rate,duration,size

显示媒体文件中所有关键帧的位置:

ffprobe -i input.mp4 -select_streams v:0 -skip_frame nokey -show_frames -of csv

显示媒体文件编码器的参数设置:

ffprobe -i input.mp4 -show_entries format_tags=encoder -v 0

使用 XML 格式输出媒体文件信息:

ffprobe -i input.mp4 -print_format xml -show_format -show_streams > output.xml

ffprobe -v quiet -print_format json -show_format -show_streams input.mp4 > output.json

只看视频流:

ffprobe -show_frames -select_streams v -of xml input.mp4

查看flv视频格式的信息

ffprobe -v trace -i key.flv

仅展示宽高

ffprobe -v error -hide_banner -of default=noprint_wrappers=0 -print_format flat -select_streams v:0 -show_entries stream=width,height simpsons_1080p2398_clip.mp4

查看pts

ffprobe -v error -hide_banner -of default=noprint_wrappers=1 -select_streams v:0 -show_entries packet=pts_time simpsons_1080p2398_clip.mp4

查看时长duration

ffprobe -v error -hide_banner -of default=noprint_wrappers=0 -print_format xml -select_streams v:0 -show_entries stream=duration simpsons_1080p2398_clip.mp4

帧类型信息:

ffprobe -v error -hide_banner -of default=noprint_wrappers=0 -print_format flat -select_streams v:0 -show_entries frame=pict_type simpsons_1080p2398_clip.mp4

码率

ffprobe -v error -hide_banner -of default=noprint_wrappers=0 -print_format flat -select_streams v:0 -show_entries stream=bit_rate simpsons_1080p2398_clip.mp4

使用ffprobe输出编解码器信息

ffprobe -v error -hide_banner -of default=noprint_wrappers=0 -print_format flat -select_streams v:0 -show_entries stream=codec_name,codec_long_name,profile,codec_tag_string simpsons_1080p2398_clip.mp4

使用ffprobe显示像素格式

ffprobe -v error -hide_banner -of default=noprint_wrappers=0 -print_format flat -select_streams v:0 -show_entries stream=pix_fmt simpsons_1080p2398_clip.mp4

放音频文件时,不确定文件的声音是否正常,噪声数据等分析,可以直接使用ffplay播放音频文

件,播放的时候将会把解码后的音频数据以音频波形显示出来:

#ffplay -showmode 1 output.mp3

通过图中的箭头可以看到p帧运动估计的信息

ffplay.exe -flags2 +export_mvs -ss 40 "D:/hik_h264.mp4" -vf codecview=mv=pf+bf+bb

现在要计算 rec.yuv 和 dec.yuv 的 psnr,则在视频所在目录下打开 cmd 输入

ffmpeg -pix_fmt yuv420p -s 1920x1080 -i rec.yuv -pix_fmt yuv420p -s 1920x1080 -i decs.yuv -lavfi psnr="stats_file=psnr.log" -f null -

计算 PSNR

use '-frame' to specify the number of frames to be cauculated, i.e.

ffmpeg -pix_fmt yuv420p -s 1920x1080 -i Kimono_1920x1080_24.yuv -pix_fmt yuv420p -s 1920x1080 -i Kimono22.yuv -frames 12 -lavfi psnr="stats_file=psnr.log" -f null -

计算 SSIM

ffmpeg -s 352x288 -i rec.yuv -s 352x288 -i dec.yuv -lavfi ssim="stats_file=ssim.log" -f null -

相关推荐
小猴子爱上树3 小时前
跨境电商AI图片翻译工具:批量图片翻译、视频字幕翻译与智能抠图一站式解决
大数据·人工智能·python·音视频
弈语道破AI5 小时前
一稿出片!双十一品牌宣传AI视频生成工具推荐:即梦 Seedance 2.5 全球首发
人工智能·音视频
赛博仓鼠5 小时前
Vidu Q4 Preview实测:15张参考图+3段音频驱动,2K/4K输出,国产视频生成新标杆
ai·aigc·音视频
小猴子爱上树6 小时前
跨马翻译:批量图片翻译+视频字幕+智能抠图,一站式跨境电商翻译工具
python·音视频
ofoxcoding7 小时前
Gemini TTS 与 ElevenLabs 语音合成实测:同一段视频旁白效果对比
ai·ffmpeg·音视频
I Am a robert girl7 小时前
从最后一帧反推世界:LIFT 如何用布局控制视频生成
深度学习·数码相机·计算机视觉·音视频·视频生成·可控生成·布局控制
烟雨江南7857 小时前
灵声智库-招投标会议语音识别怎么做?实时转写、多人发言与会议留痕方案
人工智能·音视频·语音识别·ai客服
EasyGBS16 小时前
摄像头还在线,画面已经不能用了?国标GB28181视频平台EasyGBS视频质量诊断怎么用
服务器·安全·音视频
2601_9556624616 小时前
情感解说视频如何提升感染力?配音细节很关键
人工智能·音视频·语音识别·视频