有了 libx264 當然要試編一下影片,encode 出的檔案只是為 h264 的 bitstream ,並不是直接封裝成可直接撥放的檔案,還需要一些 wrapper 程序封裝成常見的影片格式如 ( mp4, mkv …)
不過也可以懶人用 ffmpeg 封裝 XD
ffmpeg -i in_file.h264 -vcodec copy out_file.mp4
這基本上就是一連串的繼承寄生關係,階層越高越笨重,也越複雜,這邊就第一步 codec 層來做個小實驗。
- codec library: e.g. x264
- only encoder & decoder for data stream (h264)
- video file container: e.g. libav
- pack/unpack video file (mp4, avi, mkv)
- multi container & codec: e.g. ffmpeg
- All file formats & all codecs (avi:h264, avi:h265, mkv:h264…)
Reference: h264/h265 bit stream 分析工具,可以幫助理解檔案格式
後面附上程式碼


