当前位置: 首页 > 知识库问答 >
问题:

无法使用ffmpeg从mp4文件创建音频文件

司徒良哲
2023-03-14

我无法使用以下python代码从mp4文件创建带有ffmpeg的单声道音频文件

command_line = "ffmpeg -i "+full_file_path+" -ac 1 -ar 16000  -vn "+full_file_path[:-4]+".wav"        
args = shlex.split(command_line)

这是我的mp4文件的媒体信息

from pydub.utils import mediainfo
print(mediainfo(full_file_path))

输出

{'index':'0','codec\u name':'h264','codec\u long\u name':'H.264/AVC/MPEG-4 AVC/MPEG-4第10部分','profile':'High','codec\u type':'video','codec\u time\u base':'1/48','codec\u tag string':'avc1','codec\u tag':'0x31637661','width':'1920 height':'1080','coded\u width':'1920','coded\u height':'1088','has\b\u帧“:”2“,”sample\u aspect\u ratio“:”1:1“,”display\u aspect\u ratio“:”16:9“,”pix\u fmt“:“yuv420p”,“level”:“40”,“color\u range”:“unknown”,“color\u space”:“unknown”,“color\u transfer”:“unknown”,“color\u primaries”:“unknown”,“chroma\u location”:“left”,“field\u order”:“unknown”,“timecode”:“N/A”,“refs”:“1”,“is\u avc”:“true”,“nal\u length\u size”:“4”,“id”:“N/A”,“r\u frame\u rate”:“24/1”,“avg\u frame\u rate”:“24/1”,“time\u base”:“1/12288”,“开始时间”:“0”,“开始时间”:“0.000000”,“duration\u ts”:“107520”,“duration”:“8.750000”,“bit\u rate”:“1036420”,“max\u bit\u rate”:“N/A”,“bits\u per\u raw\u sample”:“8”,“nb\u frames”:“210”,“nb\u read\u frames”:“N/A”,“nb\u read\u packets”:“N/A”,“DISPOSITION”“:{'default”“:'1”“,“dub”“:'0”“,“original”“:'0”“,“comment”“:'0”“,“Lyps”“:'0”“,“karaoke”“:'0”“,“forced”“:'0”“,“Audit\u DISPOSITION”“:'0”“,“clean\u effects”“:'0”“,“attached\u pic”“:'0”“,“timed\u缩略图”“:'0”“,”,'标记':{'language':'und',handler\u name':'VideoHandler',major\u brand':'isom',minor\u version':'512',compatible\u brands':'isomiso2avc1mp41',encoder':'Lavf58.26.101',filename':'/sample\u dataset\u Facesforcing/fake/abc。mp4“,”nb\U streams“:”1“,”nb\U programs“:”0“,”format\u name“:”mov,mp4,m4a,3gp,3g2,mj2“,”format\u long\u name“:”QuickTime/mov“,”size“:”1133585“,”probe\u score“:”100“}

共有1个答案

惠洛华
2023-03-14

您的MP4文件没有音频,因此无法从中提取任何音频。

 类似资料:
  • 我有一个ffmpeg,它可以合并3个mp4视频,然后另一个命令可以将音频从第一个命令添加到输出文件中。命令如下: vid-1。mp4(没有音频流) 有没有在一个命令中执行此操作?我还想将音频添加到在第一个命令中创建的视频中。这可能吗? “ffmpeg-i vid-1.mp4-i vid-2.mp4-i vid-3.mp4-i audio.mp3”的控制台输出

  • 问题内容: 我现在可以编译ffmpeg并将其添加到项目创建的Android.mk文件的jni文件夹中,我想使用ffmpeg从存储在静态arraylist中的图像创建视频文件 我已经搜索了很多,但找不到任何教程,对此表示感谢。 问题答案: 我也有类似的需求,并且达到了相同的目的。您可以通过两种方式执行此操作。我想先分享一个简单的例子。 在Android内部创建一个临时文件夹。 将图像复制到新文件夹中

  • 然后我尝试这样写音频帧: 问题是我从来不传递这个语句:“if(pkt.stream_index==st->index)”。数据包流索引从来不等于音频流索引。谁能指出我错在哪里? 更新: 顺便说一句,下面的答案没有帮助,因为它假设音频和视频流都来自同一个文件,而在我的情况下,只有音频来自外部源。

  • 我正在玩gstream er命令行界面,在从PNG图像创建mp4视频文件时卡住了。你们能帮忙解决这个问题吗? 使用下面的命令,我从摄像机创建了PNG图像: gst-launch-1.0。exe-v ksvideosrc!队列decodebin!视频转换!pngenc!多文件接收器位置=“frame  d.png” 我可以使用以下命令播放pPNG图像: gst-launch-1.0-v multi

  • 谁能帮助我理解为什么我尝试使用FFMPEG CLI用语言元数据标记音轨失败了?我已经找到了关于标签正确语法的各种信息,但我仍然不清楚(所以我的问题的第1部分是什么是正确的语法),但即使我得到了正确的(我可能有也可能没有),我想知道FFMPEG是否未能标记我的音轨,因为我的源被包装/混合了视频本质。这是否排除了语言标记的能力? 值得注意的是,尝试从MP4和MKV源(视频和音频)到MP4(视频和音频)

  • 我正在尝试使用FFMPEG合并2个mp4文件。其中一个文件同时具有视频和音频(),而另一个只有音频()。这些文件的名称以以下方式列在名为的文本文件中: 然后执行下面的ffmpeg命令来合并它们。 但是,生成的连接文件只包含。也就是说,如果