我有我制作的 ip-cam mjpeg,它总共有 240 帧
编码源是 ffmpeg.exe -framerate 25 -ic:\%06d.jpg\ -s 1920x1080 -qscale 1 -vcodec mjpeg -r 25 C:\result.mjpg -y
现在我想通过我制作的 mjpeg 播放器播放 result.mjpg
my problem
1. i can't get mjpeg's play time or duration time
2. playing is slower then other movie player so i want to sync it and play more faster
下面是ffprobe结果
Input #0, mjpeg, from 'result.mjpg':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj444p(pc, bt470bg), 1920x1080, 25 tbr, 1200k tbn, 25 tbc
以下是添加的结果 -show_frame
[FRAME]
media_type=video
key_frame=1
pkt_pts=720000
pkt_pts_time=0.600000
pkt_dts=720000
pkt_dts_time=0.600000
best_effort_timestamp=720000
best_effort_timestamp_time=0.600000
pkt_duration=48000
pkt_duration_time=0.040000
pkt_pos=4731406
pkt_size=313289
width=1920
height=1080
pix_fmt=yuvj444p
sample_aspect_ratio=333:320
pict_type=I
coded_picture_number=0
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
[/FRAME]
ffprobe 告诉我有持续时间:N/A,比特率:N/A
我如何设置持续时间和比特率我必须设置任何编码选项吗?
当我像下面这样解码 mjpeg
我不能只得到 0 的持续时间
AVFormatContext* pFC;
int ret;
pFC = avformat_alloc_context();
ret = avformat_open_input(&pFC, filename, NULL, NULL);
if (ret < 0) {
// fail .
}
ret = avformat_find_stream_info(pFC, NULL);
if (ret < 0) {
// fail
}
printf("duration %ld", pFC->duration); <----- only 0