如何使用FFmpeg从视频文件中剥离音频轨道?

#1 楼

您可以使用-an标志删除音频。

 input_file=example.mkv
output_file=example-nosound.mkv

ffmpeg -i $input_file -c copy -an $output_file
 


完整的ffmpeg文档在这里。

评论


我是bash和ffmpeg新手,但我将此答案与其他内容一起创建了功能ffsilent {ffmpeg -i $ 1 -c copy -an“ $ 1-nosound。$ {1#*。}”}可以使用在您的个人资料中快速创建任何视频文件的无声版本。

–亚伦
19/12/16在15:18



@Aaron不错,但应该是功能ffsilent {ffmpeg -i“ $ 1” -c复制-an“ $ {1%。*}-nosound。$ {1#*。}”},否则您将得到“ file .mp4-nosound.mp4”在“ file.mp4”上使用时。

–亚历山大·雷沃(Alexander Revo)
20年7月7日在8:52

这不会保留GPS坐标。

–唐尼五世
20 Dec 8'在16:43

#2 楼

您可能不想重新编码视频(过程缓慢且有损),因此请尝试:

 input_file=example.mkv
output_file=example-nosound.mkv

ffmpeg -i $input_file -vcodec copy -an $output_file
 


(nb现在ffmpeg的avconv fork附带了一些Linux发行版)

评论


与接受的解决方案相比,这对我没有任何影响。

–nidi
17年12月29日在0:49

vcodec是-c:v的别名,因此具体地说,它仅复制视频流。根据我所看到的,您唯一无法阻止的数据是字幕,元数据等。

–流氓
18 Mar 8 '18 at 15:48

换句话说,该解决方案可能会比接受的解决方案丢失更多的信息。

– Alex
20-2-25在15:12



#3 楼

avconv -i [input_file] -vcodec copy -an [output_file]


如果由于存在ffmpeg而无法安装avconv,请尝试。

#4 楼

我整理了一个简短的代码片段,该片段代码可以自动从视频文件中删除包含视频文件的整个目录中的音频的过程: br />