1
A
回答
0
我自己沒有做過,但我建議使用libavformat
,部分ffmpeg
(LGPLv2.1/GPLv2 +)。
0
如果你想要的東西,是超級容易,然後編寫BMP的磁盤作爲一個編號序列,然後通過system()
或類似這樣的東西調用ffmpeg
:
ffmpeg -i picture_%04d.bmp -r 15 -vcodec rawvideo -y output.avi
注:-r
參數指示框架你想要最終的電影的速度。
通過調用ffmpeg所基於的libavformat/libavcodec庫,可以獲得相同的結果,但這可能不符合您的「小」和「簡單」要求。
0
總是有OpenCV,它是多平臺的,並且相對容易將數據推入。
或者 - 您總是可以將視頻數據傳輸到另一個可執行文件。
例如,在UNIX中,你可以這樣做:
在你的程序:
char myimage[640*480*4];
// read data into myimage
fputs(myimage,1,640*480*4,stdout);
而且在腳本運行您的程序:
./myprogram | \
mencoder /dev/stdin -demuxer rawvideo -rawvideo w=640:h=480:fps=30:format=rgba \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=9000000 \
-oac copy -o output.avi
(請注意,這不壓縮視頻 - 未壓縮僅僅是改變mencoder命令行的問題)
I bel即使你也可以用這種方式使用ffmpeg,或者x264。你也可以從你的程序中啓動編碼器,並寫入管道(如果你使用庫,使整個過程很簡單) - 這應該在Windows,Linux或Mac上工作(對mencoder命令進行微小的修改)線)。
顯然沒有許可證的問題是(除了mencoder的可執行文件的分佈),因爲你不鏈接到任何代碼或編譯的東西。
雖然不太你想要什麼,但它確實有優勢第二個處理器將自動用於編碼。
相關問題
- 1. 用c壓縮avi視頻#
- 2. 使用directshow壓縮avi視頻文件
- 3. DirectShow +未壓縮的AVI
- 4. VirtualDub AVI壓縮
- 5. 壓縮AVI文件
- 6. Avi文件壓縮
- 7. 壓縮AVI視頻流,同時一味複製另一個流
- 8. opencv重寫壓縮視頻文件
- 9. Android - 視頻壓縮
- 10. ffmpeg:壓縮視頻?
- 11. ALAsset視頻壓縮
- 12. 未壓縮視頻的視頻比特率計算
- 13. 視頻託管 - 壓縮視頻?
- 14. 壓縮視頻文件
- 15. 啓用UIImagePickerController視頻壓縮
- 16. OpenCL無損視頻壓縮
- 17. 圖像和視頻壓縮
- 18. 視頻託管MP4壓縮
- 19. 壓縮視頻像whatsapp
- 20. 使用MediaCodec壓縮視頻
- 21. 媒體contaner它支持未壓縮的音頻和視頻
- 22. 壓縮音頻編碼
- 23. ffmpeg的:視頻轉換AVI視頻AVI anamorphose
- 24. PHP - 流AVI視頻
- 25. Android Studio:壓縮視頻和音頻
- 26. 如何在不影響視頻質量的情況下壓縮視頻文件(.wmv,.avi,.flv)
- 27. 從視頻庫中選擇視頻後,Android壓縮視頻
- 28. 使用硅壓縮機在android不工作的視頻壓縮
- 29. 如何爲LZMA2編寫Hadoop壓縮/解壓縮編解碼器?
- 30. 在iOS4中從庫中採摘高清視頻顯示「壓縮視頻」,導致可怕的壓縮視頻
由於不得不讀取/寫入文件,性能方面會造成巨大損失。在典型的應用程序中,文件I/O大於任何算法處理的成本。 –