ffplay 使用参数说明分享
E:SRCFORTESTsoftwareffmpeg-20131021ffmpeg-20131021-git-712eff4-win32-static bin>ffplay.exe "http://192.168.0.3:9090/mpeg/FLAT06.m3u8" ffplay version N-57287-g712eff4 Copyright (c) 2003-2013 the FFmpeg developers built on Oct 20 2013 19:47:46 with gcc 4.8.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aa cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 47.101 / 52. 47.101 libavcodec 55. 37.102 / 55. 37.102 libavformat 55. 19.103 / 55. 19.103 libavdevice 55. 4.100 / 55. 4.100 libavfilter 3. 88.102 / 3. 88.102 libswscale 2. 5.101 / 2. 5.101 libswresample 0. 17.104 / 0. 17.104 libpostproc 52. 3.100 / 52. 3.100 Input #0, hls,applehttp, from 'http://192.168.0.3:9090/mpeg/wd/vodtest/FLAT_TE ST06.m3u8': Duration: 00:01:30.00, start: 51210.426000, bitrate: 0 kb/s Program 0 Metadata: variant_bitrate : 0 Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 720x576 [ SAR 17:12 DAR 85:48], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 51 kb/s Seek to 46% ( 0:00:41) of total duration ( 0:01:30) 0B f=0/0 http://192.168.0.3:9090/mpeg/wd/vodtest/FLAT_TEST06.m3u8: error while seeking 51220.62 A-V: 0.178 fd= 6 aq= 0KB vq= 0KB sq= 0B f=0/0 |
蓝色加粗的部分是在ffmpeg下键入的命令,黑色的是系统打印的命令。只要命令和视频流正确,那么是一定可以播放的。虽然视频播放的时候没有显示出进度条,但是在左右点击屏幕的时候,会产生点击进度条的效果。
一、系统打印命令解析
在此命令执行过程中,我们可以看到如下数据:
1、ffmpeg在运行过程中需要用到的lib库如下
libavutil 52. 47.101 / 52. 47.101
libavcodec 55. 37.102 / 55. 37.102
libavformat 55. 19.103 / 55. 19.103
libavdevice 55. 4.100 / 55. 4.100
libavfilter 3. 88.102 / 3. 88.102
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
2、Input #0, hls,applehttp, from 'http://172.30.25.246:9090/mpeg/wd/vodtest/FLAT_TE
ST06.m3u8':
其中介绍的是片源的信息,hls为传输协议(是苹果的),后面的网址是视频的来源。
3、Duration: 00:01:30.00, start: 51210.426000, bitrate: 0 kb/s
Duration为时长,可以看见正在播放的片源为1分30秒。Start后面代表的是视频片内的偏移地址,bitrate为码率。
4、Metadata:
variant_bitrate : 0
Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 720x576 [
SAR 17:12 DAR 85:48], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 51
kb/s
Metadata为元数据,就是描述其他数据的数据,相当于数据库里面的字段。
Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 720x576 [SAR 17:12 DAR 85:48], 25 fps, 25 tbr, 90k tbn, 50 tbc
第0:0个流是视频流,编码为h264,颜色编码为yuv420p,分辨率为720x576, 25帧每秒,帧率为25,文件层的时间精度为1S=90k,视频层的时间精度为1S=50
Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 51 kb/s
第0:1个流是音频流,采用的是aac(高级编码)技术,采样频率为48000Hz;立体声;AV_SAMPLE_FMT_FLTP格式的数据,码率为51kb/s。
二、关键词介绍
HLS介绍HLS,Http Live Streaming 是由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件。
YUV是一种颜色编码方法(属于PAL)主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视。与RGB视频信号传输相比,它最大的优点在于只需占用极少的频宽(RGB要求三个独立的视频信号同时传输)。采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分离的。如果只有Y信号分量而没有U、V分量,那么这样表示的图像就是黑白灰度图像。
PAR - pixel aspect ratio(可以理解为单个像素的宽高比)大多数情况为1:1,就是一个正方形像素,否则为长方形像素。常用的PAR比率(1:1,10:11, 40:33, 16:11, 12:11 ).
DAR - display aspect ratio就是视频播放时,我们看到的图像宽高的比例,缩放视频也要按这个比例来,否则会使图像看起来被压扁或者拉长了似的。
SAR - storage aspect ratio就是对图像采集时,横向采集与纵向采集构成的点阵,横向点数与纵向点数的比值。比如VGA图像640/480 = 4:3,D-1 PAL图像720/576 = 5:4
这三者的关系PAR x SAR = DAR或者PAR = DAR/SAR.
tbr代表帧率,tbn代表文件层的时间精度,和duration相关;tbc代表视频层的时间精度和时间戳相关。
AAC(Advanced Audio Coding),中文名:高级音频编码,出现于1997年,基于MPEG-2的音频编码技术。一种专为声音数据设计的文件压缩格式,与Mp3不同,它采用了全新的算法进行编码,更加高效,具有更高的“性价比”。利用AAC格式,可使人感觉声音质量没有明显降低的前提下,更加小巧。fltp:AV_SAMPLE_FMT_FLTP格式的数据( float, 4bit , planar);码率越高,文件所含的信息量就越大,音质就越高。