ffmpeg 视频合并后后面一段解码不出来的问题分析

原创 2015年11月17日 22:24:13

2个3gp视频,都是x264编码,但是参数有些不同,使用

ffmpeg -y -f concat -i flvmergelist.txt -c copy out.flv 合并后出现只能播放前面一段,后一个文件不能解码的问题.

经过分析,发现是因为2个视频的编码参数不同,如下:

x264 - core 130 r2274bm c832fe9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html 

- options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=2 lookahead_threads=2 sliced_threads=1 slices=2 
nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 

weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00



x264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html 
- options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 
nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 

weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00


主要差别是一个使用了bfrmes,而另外一个则没有.使用下面命令转换后再合并,就解决了这个问题.

ffmpeg -loop 1 -i 1.jpg -bf 0 -pix_fmt yuv420p -vcodec libx264 -y -to 5 1.flv

-bf 0表示不使用b frames

ffmpeg 视频拼接

1. 视频拼接ffmpeg视频拼接需要用concat参数。 此外ffmpeg拼接的视频和原视频的封装格式有关2. ffmpeg视频拼接的几种方法2.1 利用文件列表# this is a comme...

FFMpeg无损合并视频的多种方法

众所周知,从某些视频网站下载的视频是分段的。比如新浪视频每隔6分钟分段,俗称“6分钟诅咒”。 现在的任务是将这些视频片段合并起来,并且尽量无损。 方法一:FFmpeg concat 协议 ...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

ffmpeg /x264视频流编解码末尾丢帧问题分析和解决

一:问题 int avcodec_encode_video2 ( AVCodecContext *  avctx, A...
  • dangxw_
  • dangxw_
  • 2016年03月24日 20:18
  • 1895

视频编解码,FFMPEG,RTP问题汇总

1)ffmpeg如何判断一帧数据是正确的?ffmpeg有没有错误处理的模式,能使花屏的帧(h264格式的)不显示出来? 2) H264网络传输过程中丢包造成马赛克问题?   原因: 1. 接收网络数据...

分享一段代码,基于 ffmpeg 的视频转化为图片

delphi ffmpeg video bmp
  • dbyoung
  • dbyoung
  • 2014年12月20日 15:25
  • 1946

Android平台上使用SDL官方demo播放视频(使用ffmpeg最新版解码)

SDL(Simple Directmedia Layer)是一套开源的跨平台多媒体开发库,集成了音视频的许多底层的API,介绍Windows平台下的例子已经很多了,例如:雷老师的 最简单的视音频播放示...

ffmpeg和Opencv结合进行视频解码播放

引子 OpenCV中有自己的用于处理图片和视频的类VideoCapture,可以很方便的读入文件和显示。 现在视频数据流是ffmpeg解码h264文件得到的,由于要依赖该数据源进行相应的后续处...
  • tkp2014
  • tkp2014
  • 2015年06月25日 21:43
  • 1198

FFmpeg 视频格式解码方法

 流程 下面附上一张FFmpeg编码视频的流程图。通过该流程,不仅可以编码H.264/H.265的码流,而且可以编码MPEG4/MPEG2/VP9/VP8等多种码流。实际上使用FFmpeg编码...

使用ffmpeg-1.0内置RTMP协议实时解码H264视频流

转自:http://bashell.sinaapp.com/archives/using-ffmpeg-1_0-rtmp-protocol-decode-h264-stream.html 正...
  • hjwang1
  • hjwang1
  • 2013年12月29日 22:00
  • 2461
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ffmpeg 视频合并后后面一段解码不出来的问题分析
举报原因:
原因补充:

(最多只允许输入30个字)