【FFmpeg】ffmpeg 命令行參數(shù) ⑤ ( 使用 ffmpeg 命令提取 音視頻 數(shù)據(jù) | 保留封裝格式 | 保留編碼格式 | 重新編碼 )
文章目錄
一、使用 命令提取 音視頻 數(shù)據(jù)
1、提取音頻數(shù)據(jù) - 保留封裝格式
使用 命令 從 視頻數(shù)據(jù) 中 提取 音頻數(shù)據(jù) / 視頻數(shù)據(jù) 保留封裝格式 , 封裝格式 指的就是 封裝 視頻數(shù)據(jù) 的 容器 ;
一個 mp4 格式的視頻 , 其 封裝容器 就是 mp4 容器 , 其中 封裝了 h.264 格式的視頻數(shù)據(jù) 和 aac 格式的 音頻數(shù)據(jù) ;
執(zhí)行
ffmpeg -i input.mp4 -vn -acodec copy output.mp4
命令 , 從 .mp4 輸入文件中 , 提取 音頻數(shù)據(jù) 到 .mp4 輸出文件 , 封裝容器 仍然是 mp4 格式的容器 ;
提取出來 的數(shù)據(jù) 是 音頻數(shù)據(jù) , 完全可以存儲在 aac / mp3 / wav 等音頻封裝容器中 , 但是此處保留了 封裝容器格式 , 仍然將 音頻數(shù)據(jù) 存儲在 mp4 格式的容器 中 ;
上述命令解析 :
注意 : 輸出 音頻文件 , 需要 使用 - 參數(shù) , 設(shè)置 音頻編解碼器 ;
命令執(zhí)行過程 : 執(zhí)行
ffmpeg -i input.mp4 -vn -acodec copy output.mp4
執(zhí)行前 , .mp4 的 封裝容器 中的 音頻流 和 視頻流 格式如下 :
執(zhí)行上述命令后的 輸出文件 中 , 只有 AAC LC 格式的 音頻流 數(shù)據(jù) , 視頻流 數(shù)據(jù) 被忽略掉了 ;
2、提取視頻數(shù)據(jù) - 保留封裝格式
執(zhí)行
ffmpeg -i input.mp4 -an -vcodec copy output.mp4
命令 , 從 .mp4 輸入文件中 , 提取 視頻數(shù)據(jù) 到 .mp4 輸出文件 , 封裝容器 仍然是 mp4 格式的容器 ;
提取出來 的數(shù)據(jù) 是 視頻數(shù)據(jù) , 完全可以存儲在 h.264 視頻封裝容器中 , 但是此處保留了 封裝容器格式 , 仍然將 視頻數(shù)據(jù) 存儲在 mp4 格式的容器 中 ;
注意 : 輸出 視頻文件 , 需要 使用 - 參數(shù) , 設(shè)置 視頻編解碼器 ;
上述命令解析 :
命令執(zhí)行過程 : 執(zhí)行
ffmpeg -i input.mp4 -an -vcodec copy output.mp4
命令 ;
輸出文件 .mp4 中 , 只有 AVC 格式的視頻流數(shù)據(jù) , 音頻流數(shù)據(jù)被忽略掉了 ;
3、提取視頻數(shù)據(jù) - 保留編碼格式
執(zhí)行
ffmpeg -i input.mp4 -an -vcodec copy output.h264
命令 , 從 .mp4 輸入文件中 , 提取 視頻數(shù)據(jù) 到 .h264 輸出文件中 , 不再使用原來的封裝格式 ;
上述命令解析 :
執(zhí)行過程 : 執(zhí)行
ffmpeg -i input.mp4 -an -vcodec copy output.h264
命令過程 ;
轉(zhuǎn)換后的 H.264 格式的 輸出文件 中 , 只有一個 AVC 視頻流 數(shù)據(jù) ;
4、提取視頻數(shù)據(jù) - 重新編碼
執(zhí)行
ffmpeg -i input.mp4 -an -vcodec libx264 output.h264
命令 , 從 .mp4 輸入文件中 , 提取 視頻數(shù)據(jù) 到 .h264 輸出文件中 , 并使用 編解碼器重新進(jìn)行編碼 ;
上述命令解析 :
命令執(zhí)行過程 :
由于設(shè)置了 視頻編解碼器 , 涉及到 視頻重新編碼 , 該過程很耗時 , 下面是視頻重新編碼過程 ;
使用 視頻編解碼器 重新 編碼輸出的 H.264 文件 的 視頻信息 如下圖所示 :
5、提取音頻數(shù)據(jù) - 保留編碼格式
執(zhí)行
ffmpeg -i input.mp4 -vn -acodec copy output.aac
命令 , 從 .mp4 輸入文件中 , 提取 音頻數(shù)據(jù) 到 .aac 輸出文件中 , 不再使用原來的封裝格式 ;
上述命令解析 :
執(zhí)行過程 : 執(zhí)行
ffmpeg -i input.mp4 -vn -acodec copy output.aac
命令過程 ;
執(zhí)行完畢后 , .aac 輸出文件中 有一個 AAC LC 音頻流 數(shù)據(jù) , 這就是從 .mp4 視頻文件中提取的音頻流數(shù)據(jù) ;
6、提取音頻數(shù)據(jù) - 重新編碼
執(zhí)行
ffmpeg -i input.mp4 -vn -acodec libmp3lame output.mp3
命令 , 從 .mp4 輸入文件中 , 提取 音頻數(shù)據(jù) 并且進(jìn)行重新編碼 輸出 到 .mp3 文件中 , 不再使用原來的封裝格式 ;
上述命令解析 :
執(zhí)行過程 : 執(zhí)行
ffmpeg -i input.mp4 -vn -acodec libmp3lame output.mp3
命令過程 ;
提取 音頻流 數(shù)據(jù) 并 使用 編解碼器 進(jìn)行重新編碼后的 輸出文件信息如下 :
聲明:本站所有文章資源內(nèi)容,如無特殊說明或標(biāo)注,均為采集網(wǎng)絡(luò)資源。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系本站刪除。