os:ubuntu 12.04
ffmpeg:n-47141-g4063bb2
x264:0.133.2334
a3ac64b
目标:
使用ffserver建立流媒体服务器
使用ffmpeg对本地文件流化(x264编码器)
使用ffplay播放
目录 []
<code>1</code>
<code>port 8090 </code><code>#访问端口</code>
<code>2</code>
<code>rtspport 554</code><code>#rtsp端口</code>
<code>3</code>
<code>bindaddress 0.0.0.0</code><code>#服务器地址绑定</code>
<code>4</code>
<code>maxhttpconnections 2000</code><code>#允许的最大连接数</code>
<code>5</code>
<code>maxclients 1000</code><code>#最大的客户数</code>
<code>6</code>
<code>maxbandwidth 10000</code>
<code>7</code>
<code>customlog -</code>
<code>8</code>
<code>9</code>
<code><feed feed1.ffm></code>
<code>10</code>
<code>file /tmp/feed1.ffm</code>
<code>11</code>
<code>filemaxsize 1g</code>
<code>12</code>
<code>acl allow 127.0.0.1</code><code>#只允许本地连接</code>
<code>13</code>
<code></feed></code>
<code>14</code>
<code>15</code>
<code>################ asf ################</code>
<code>16</code>
<code>17</code>
<code><stream</code><code>test</code><code>.asf></code>
<code>18</code>
<code>feed feed1.ffm</code>
<code>19</code>
<code>format asf</code><code>#流媒体格式</code>
<code>20</code>
<code>videocodec libx264</code><code>#编码格式</code>
<code>21</code>
<code>videoframerate 25</code><code>#桢率</code>
<code>22</code>
<code>videosize 1024x768</code><code>#播放大小</code>
<code>23</code>
<code>videobitrate 2m</code><code>#码率</code>
<code>24</code>
<code>videobuffersize 10000000</code>
<code>25</code>
<code>videogopsize 24</code>
<code>26</code>
<code>startsendonkey</code>
<code>27</code>
<code>preroll 5</code>
<code>28</code>
<code>#使用x264编码时必须有下面的4个参数</code>
<code>29</code>
<code>videoqmin 3</code>
<code>30</code>
<code>videoqmax 31</code>
<code>31</code>
<code>avoptionvideo flags +global_header</code>
<code>32</code>
<code>avoptionaudio flags +global_header</code>
<code>33</code>
<code>noaudio</code>
<code>34</code>
<code></stream></code>
<code>35</code>
<code>36</code>
<code>################ flv ################</code>
<code>37</code>
<code>38</code>
<code><stream</code><code>test</code><code>.flv></code>
<code>39</code>
<code>40</code>
<code>41</code>
<code>format flv</code>
<code>42</code>
<code>43</code>
<code>44</code>
<code>#audiobitrate 32 </code>
<code>45</code>
<code>#audiochannels 2</code>
<code>46</code>
<code>#audiosamplerate 44100</code>
<code>47</code>
<code>#avoptionaudio flags +global_header</code>
<code>48</code>
<code>#audiocodec libmp3lame</code>
<code>49</code>
<code>50</code>
<code>#novideo</code>
<code>51</code>
<code>videobitrate 1024</code>
<code>52</code>
<code>videoframerate 40 </code>
<code>53</code>
<code>videosize 1280x720</code>
<code>54</code>
<code>videobuffersize 1000000</code>
<code>55</code>
<code>videocodec libx264</code>
<code>56</code>
<code>57</code>
<code>58</code>
<code>videoqmax 31 </code>
<code>59</code>
<code>60</code>
<code>videobitratetolerance 100</code>
<code>61</code>
<code>videogopsize 12 </code>
<code>62</code>
<code>63</code>
<code>64</code>
<code>avoptionvideo qmin 3</code>
<code>65</code>
<code>avoptionvideo qmax 31</code>
<code>66</code>
<code>#avoptionvideo quality good</code>
<code>67</code>
<code>#avoptionvideo cpu-used 0</code>
<code>68</code>
<code>69</code>
<code>#avoptionvideo keyint_min 25</code>
<code>70</code>
<code>#avoptionvideo qcomp 0.6</code>
<code>71</code>
<code>avoptionvideo qdiff 4</code>
<code>72</code>
<code>#avoptionvideo me_range 16</code>
<code>73</code>
<code>#preroll 15</code>
<code>74</code>
<code>75</code>
<code>76</code>
<code>################ rtsp ################</code>
<code>77</code>
<code>78</code>
<code><stream live.h264></code>
<code>79</code>
<code>format rtp</code>
<code>80</code>
<code>81</code>
<code>82</code>
<code>#videoframerate 7</code>
<code>83</code>
<code>videobitrate 300</code>
<code>84</code>
<code>#videosize 480x272</code>
<code>85</code>
<code>videosize 352x288</code>
<code>86</code>
<code>#avpresetvideo default</code>
<code>87</code>
<code>avpresetvideo superfast</code>
<code>88</code>
<code>89</code>
<code>90</code>
<code>pixelformat yuv420p</code>
<code>91</code>
<code>avoptionvideo me_range 4</code>
<code>92</code>
<code>93</code>
<code>avoptionvideo qmin 2</code>
<code>94</code>
<code>avoptionvideo qmax 51</code>
<code>95</code>
<code>96</code>
<code>#multicastaddress 224.124.0.1</code>
<code>97</code>
<code>#multicastport 5000</code>
<code>98</code>
<code>#multicastttl 1</code>
<code>99</code>
<code>100</code>
<code>101</code>
<code>#audiocodec libfaac</code>
<code>102</code>
<code>#audiobitrate 32</code>
<code>103</code>
<code>104</code>
<code>#audiosamplerate 22050</code>
<code>105</code>
<code>106</code>
<code>107</code>
<code>108</code>
<code>################ html ################</code>
<code>109</code>
<code>110</code>
<code><stream stat.html></code>
<code>111</code>
<code>format status</code>
<code>112</code>
<code># only allow local people to get the status</code>
<code>113</code>
<code>acl allow localhost</code>
<code>114</code>
<code>acl allow 192.168.0.0 192.168.255.255</code>
<code>115</code>
<code>#faviconurl http://pond1.gladstonefamily.net:8080/favicon.ico</code>
<code>116</code>
<code>117</code>
<code>118</code>
<code># redirect index.html to the appropriate site</code>
<code>119</code>
<code><redirect index.html></code>
<code>120</code>
<code>url http://www.ffmpeg.org/</code>
<code>121</code>
<code></redirect></code>
<code>ffserver -d -f ./ffserver.conf</code>
<code>./ffmpeg -i ./1.mov -vcodec libx264 -qmin 3 -qmax 31 -qdiff 4 -me_range 16 -keyint_min 25 -qcomp 0.6 -b 9000k http://localhost:8090/feed1.ffm</code>
<code>./ffmpeg -f video4linux2 -i /dev/video0 http://localhost:8090/feed1.ffm</code>
在ffmserver.conf中打开声音:
<code>#noaudio</code>
<code>audiobitrate 128kb</code>
<code>audiochannels 2</code>
<code>audiosamplerate 44100</code>
在输入中加入声音捕获:
<code>ffmpeg -f v4l2 -i /dev/video0 -f alsa -i hw:0,0 http://localhost:8090/feed_tv.ffm</code>
<code>./ffplay mmsh://localhost:8090/</code><code>test</code><code>.asf</code>
<code>./ffplay http://localhost:8090/</code><code>test</code><code>.flv</code>
<code>./ffplay rtsp://localhost:554/live.h264</code>
git: