rpi camera 只支援輸出 raw h.264
雖然 chrome 跟 safari (firefox 不援, 而 safari 因為是 call 自己的 quicktime 去播放影片所以支援的又更廣) 都支援解碼 h.264 codec 但不支援解 raw h.264
但可以解 container 一定要是 mp4, 所以輸出 h.264 還需要經過一層轉檔成 mp4 才能在瀏覽器上看到
install ffmpeg
sudo apt-add-repository ppa:jon-severinsson/ffmpeg
sudo apt-get update
sudo apt-get install ffmpeg
convert raw h264 to mp4
ffmpeg -r 30 -i test2.h264 -vcodec copy test2.mp4
ffserver
/etc/ffserver.conf
加上
<Stream live.mp4>
Format mp4
Feed feed1.ffm
VideoCodec libx264
VideoFrameRate 30
VideoSize 320x240
NoAudio
</Stream>
啟動 ffserver : ffserver -f /etc/ffserver.conf
將 ffmpeg 轉檔的 stream 傳到 feed1.ffm : ffmpeg -i /tmp/t.h264 -copyinkf -codec copy -f mpegts udp://localhost:8090/feed1.ffm
打開瀏覽器 : http://107.185.47.26:9080/live.mp4
MP4 H.264 (AAC or MP3)
H.264 video codec 及 ACC audio codec 的 MP4 container 格式可以被桌機及手機的 IE, Safari, Chrome 原生支援, 但 Chromium 及 Opera 不支援此格式, IE 及 Chrome 也支援 MP4 container 裡的 MP3 audio codec, 但 Safari 不支援, 不過 Firefox 在 Android 及 Firefox OS 裡只有在 thrid-party decoder 支援的情況下才支援
Browser support
- chrome : webm ogv mp4
- firefox : webm ogv
- opera : webm ogv
- safari : mp4
- ie10, ie9 : mp4