如何以編程方式將mp4視頻文件格式轉換(提取音頻通道)?
我只是無法在網上找到任何東西,因爲使用C++。
我該如何動態鏈接外部引擎,我可以通過C++取得mp4文件並將其轉換爲mp3文件。
而不是將命令行參數傳遞給LAME或MPLAYER或FFMPEG?使用C++從mp4中提取音頻到mp3(不執行帶有參數的ffmpeg)
回答
您可以嘗試使用ffmpeg在c或C++中執行此操作。這是正常的步驟流程。
使用av_register_all()初始化ffmpeg;
使用avformat_open_input打開輸入文件(& informat,sourcefile,0,0))。
使用avformat_find_stream_info(informat,0))查找流信息)。
通過迭代流並將codec_type與AVMEDIA_TYPE_AUDIO進行比較來查找音頻流。
一旦你輸入了音頻流,你可以找到音頻解碼器並打開解碼器。使用avcodec_find_decoder(in_aud_strm-> codec-> codec_id)和avcodec_open2(in_aud_codec_ctx,in_aud_codec,NULL)。
現在輸出文件猜測使用av_guess_format(NULL,(const char *)outfile,NULL)的格式。
爲outformat分配上下文。
使用avcodec_find_encoder(outfmt-> audio_codec)查找輸出音頻編碼器。
添加新的流音頻流avformat_new_stream(outformat,out_aud_codec)。使用avio_open具有期望的採樣率,採樣FMT,信道等
打開輸出文件
填充輸出編解碼器的上下文()。
使用avformat_write_header(outformat,NULL)編寫輸出標題。
現在在while循環開始讀取數據包時,只解碼音頻數據包將它們編碼並將它們寫入打開的輸出文件中。您可以使用av_read_frame(informat,& pkt),avcodec_decode_audio4(in_aud_codec_ctx,pframeT,& got_vid_pkt,& pkt),avcodec_encode_audio2()和av_write_frame()。
最後使用av_write_trailer編寫預告片。
您可以查看ffmpeg示例中提供的demuxing.c和muxing.c。
謝謝,我會嘗試。我徘徊,如果有一些開源應用程序已經做好了 – user63898 2013-04-23 13:15:30
- 1. 使用ffmpeg無法從視頻中提取mp3音頻
- 2. 如何在C++中使用ffmpeg從視頻中提取音頻?
- 3. 使用FFmpeg或包裝從MP4中獲取MP3從C#
- 4. 如何在Android中使用java將音頻從mp4提取到mp3?
- 5. 從C#中的youtube視頻中提取mp3音頻文件#
- 6. 使用ffmpeg從視頻中提取低/質量好的音頻
- 7. TTS音頻(mp3)使用c#
- 8. 從視頻c提取音頻作爲MP3文件#
- 9. 從Android中的視頻中提取MP3格式的音頻
- 10. 使用ffmpeg從文件中提取音頻流
- 11. Windows Phone 7.1視頻(3GP,MP4)音頻(MP3)轉換器 - Windows手機上的ffmpeg?
- 12. 從MP3格式的視頻中提取音頻
- 13. 使用ffmpeg轉換mp4到hls m3u8和預留音頻
- 14. FFMPEG - 從視頻中提取
- 15. FFmpeg的MP4到M3U8但音頻不工作
- 16. 用於從MP3文件中提取音頻信息的Java庫
- 17. FFMPEG從音頻
- 18. FFmpeg在從視頻中提取MP3時出現錯誤
- 19. 從FLV中提取音頻數據並注入MP3
- 20. 從MP3/MIDI文件中提取音頻數據
- 21. 如何從mp3文件中提取音頻數據?
- 22. ffmpeg從紅寶石mp4翻錄mp3
- 23. FFmpeg - 從傳輸流文件(.ts)中提取視頻和音頻
- 24. 是否可以使用ffmpeg從MP4視頻中提取SubRip(SRT)字幕?
- 25. 從MP4提取音頻並保存到SD卡(MediaExtractor)
- 26. 使用FFMPEG將音頻(帶偏移量)添加到視頻
- 27. 如何將.mp4視頻與帶有ffmpeg中偏移量的.wav音頻相結合的命令行?
- 28. ffmpeg,替換mp4視頻文件中的部分音頻
- 29. FFMpeg將AVI轉換爲MP4 - 音頻/視頻不同步
- 30. c#從mp4文件中提取mp3文件
LAME和FFMPEG是開源項目,所以我建議你先看看他們的來源,以便讓你開始。 – 2013-04-21 14:45:59
如何使用ffmpeg API?從頭開始實施這聽起來很困難。 – Thibaut 2013-04-21 16:18:17
FFMPEG有API嗎? – user63898 2013-04-21 18:51:16