最近在研究利用ffmpeg的源碼打包TS的問題,將研究的過程記錄下來備忘。
1. 先測試以下ffmpeg的錄製屏幕的功能
ffmpeg -f x11grab -y -r 24 -s 800x600 -i :0.0+100,100 -vcodec mpeg2video -f mpegts ./output.ts
ffmpeg -f alsa -i hw:0 -f x11grab -y -r 24 -s 800x600 -i :0.0+100,100 -acodec mp2 -vcodec mpeg2video -f mpegts ./output.ts
ffmpeg -f alsa -i hw:0 alsaout.wav
2. 跟蹤用TS流錄製
測試命令:ffmpeg -f alsa -i hw:0 -f x11grab -y -r 24 -s 800x600 -i :0.0+100,100 -acodec mp2 -vcodec mpeg4 -f mpegts -b 6291456 ./output.ts
安裝cgdb: sudo apt-get install cgdb
啓動cgdb:cgdb ffmpeg_g
(gdb) set args -f alsa -i hw:0 -f x11grab -y -r 24 -s 800x600 -i :0.0+100,100 -acodec mp2 -vcodec mpeg4 -f mpegts -b 6291456 ./output.ts
(gdb) b main
Breakpoint 1 at 0x43d070: file ffmpeg.c, line 4535.
(gdb)
然後單布跟蹤代碼。