流媒体技术学习笔记之(十五)FFmpeg编码遇到的错误、警告、Debug记录

When encoding H.264 using ffmpeg I get the following type of warnings en masse:

 Past duration 0.606377 too large ?

FFMpeg版本在2015年1月15日后经常显示此警告。 它已被添加以警告可能的速率控制失真,否则不会造成任何危害。

 

   real-time buffer 98% full! frame dropped?

ffmpeg -re -rtbufsize 1000M -f dshow -i video="Lenovo EasyCamera":audio="麦克风 (Realtek High Definition Audio)" -vcodec libx264 -b:v 1000k -acodec libvo_aacenc  -f rtsp rtsp://231131/tinywan123.sdp

 

  ffmpeg RTP: missed 12 packets?   

ffmpeg -rtsp_transport tcp -re -i "rtsp://192.168.18.240:554/onvif/live/1" -vcodec copy -acodec copy -f rtsp "rtsp://trspServer/2001.sdp"

解决办法:添加TCP协议即可解决。

 

   Error setting option profile to value baseline  ? 

说明:基线配置文件仅应用于视频,

解决办法:http://askubuntu.com/questions/335292/avconv-does-not-support-setting-profile-for-mp4-h264-aac

avconv -i 'Video2.WMV' \
-vcodec libx264 -preset ultrafast -profile:v baseline \
-acodec aac -strict experimental \
-r 24 -b 255k -ar 44100 -ab 59k 'Video2.mp4'

 

'circular_buffer_size' option was set but it is not supported on this build (pthread support is requ

[udp @ 00000000002cff20] 'circular_buffer_size' option was set but it is not supported on this build (pthread support is required)
[udp @ 0000000000341d80] 'circular_buffer_size' option was set but it is not supported on this build (pthread support is required)
[rtp @ 00000000002cf780] Only one stream supported in the RTP muxer

这意味着你的ffmpeg生成没有启用pthreads,这是udp / rtp muxing正常工作的

一个要点,这里要注意的是,你只是指定输入文件和输出FORMAT(container),你没有指定什么你喜欢做你的流(在这种情况下aac音频和h264视频),所以ffmpeg决定重新编码它在一些“默认值”,如:

Stream mapping:
  Stream #0:1 -> #0:0 (h264 -> mpeg4)
  Stream #0:0 -> #0:1 (aac -> pcm_mulaw)

您可以尝试指定-c copy(仅复制音频/视频流,而不重新编码)或指定正确的音频(-c:a)和视频(-c:v)编解码器,以及它们的正确选项比特率等。对于第二个问题,您需要与ffmpeg一起使用ffserver,因为单独的ffmpeg不是设计为rtsp广播服务器(这是ffserver的角色)。

 

posted @ 2017-01-22 09:39  Tinywan  阅读(9298)  评论(0编辑  收藏  举报