2011-07-13 72 views
3

我支持使用libvlc播放音頻/視頻流的C++/Qt應用程序。我的任務是增強應用程序,允許用戶通過設置開始/結束時間並將視頻捕獲到文件中來提取視頻剪輯。如何使用libvlc API或FFmpeg API提取音頻/視頻剪輯?

我已經實現了開始/結束標記,並且可以將音頻/視頻的正確時間用於播放。我現在的問題是以某種方式將這個流以各種格式/壓縮方式捕獲到文件中。

我一直在搜索libvlc中的Doxygen鏈接和FFmpeg的文檔,但是我沒有看到任何API函數將音頻/視頻剪輯提取到文件中。我也研究過this example,但它沒有捕獲。有捕捉的另一個例子嗎?

有人能指點我的API,或者一個如何實現這個的例子嗎?

編輯:我看到this question的答案,但示例項目是一個死鏈接。

回答

4

ffmpeg支持剪輯視頻文件並將剪輯轉換爲所需的格式。通過提供開始時間(使用-ss參數)和持續時間(使用-t參數),您實際上可以在'ss到t'秒內剪輯視頻。

+1

是的,但你說的是命令行可執行文件,對吧?我想知道如何通過代碼來調用它(不分叉)。但是,謝謝。 – retrodrone

+0

@retrodrone ..不是很難做到這一點從代碼:) ffmpeg提供了一個示例程序ffmpeg.c ...你可以使用它來從程序中完成這項工作。所有命令行示例可以在調用transcode/av_encode方法之前使用代碼中的示例來設置。 –

+0

謝謝@mahmudul。我在哪裏可以找到ffmpeg.c?它在常規的源代碼樹中嗎? – retrodrone