我用FFmpeg来串通3 mp4视频贿赂。
FFbrope显示所有贿赂都是从关键帧开始的,并且在VLC中发挥得很好。
在播放最后的视频文件时,当贿赂开始时会出现一些伪制品:
ffmpeg.exe -f concat -i video_bribes.list -codec:v copy -acodec none -movflags faststart -y v_2.mp4我在concat命令行中尝试了不同的选项来重新编码,但是伪制品仍然在这里。
我能做些什么来避免贿赂之间这种灰色的艺术品?
谢谢。
发布于 2016-02-03 16:21:25
我终于找到了发生了什么!
问题在于原始视频块的编码。
在我的编码循环中,我使用了以下代码:
//-- PTS
av_packet_rescale_ts(&pkt_video, m_c->time_base, m_video_st->time_base);
if(m_frame->key_frame)
pkt_video.flags |= AV_PKT_FLAG_KEY;
//Write the compressed frame to the media file.
ret = av_interleaved_write_frame(m_oc, &pkt_video);当我移除这两行时:
if(m_frame->key_frame)
pkt_video.flags |= AV_PKT_FLAG_KEY;百事大吉。而且,现在我没有看到灰色的,也没有在视频的开头,也没有在我的片段之间。
我不明白,因为我确信我在FFmpeg示例中看到了这些行.好了!
有人能解释一下AV_PKT_FLAG_KEY的目的是什么吗?
耽误您时间,实在对不起。
https://stackoverflow.com/questions/33867895
复制相似问题