【问题标题】:Unable to create audio file from mp4 file with ffmpeg无法使用 ffmpeg 从 mp4 文件创建音频文件
【发布时间】:2021-02-04 16:56:37
【问题描述】:

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

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_name': 'h264', 'codec_long_name': 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10', 'profile': 'High' ,'codec_type':'video','codec_time_base':'1/48','codec_tag_string':'avc1','codec_tag':'0x31637661','width':'1920','height':'1080' ,'coded_width':'1920','coded_height':'1088','has_b_frames':'2','sample_aspect_ratio':'1:1','display_aspect_ratio':'16:9','pix_fmt':' yuv420p','level':'40','color_range':'unknown','color_space':'unknown','color_transfer':'unknown','color_primaries':'unknown','chroma_location':'left' , 'field_order': 'unknown', 'timecode': 'N/A', 'refs': '1', 'is_avc': 'true', 'nal_length_size': '4', 'id': 'N/ A','r_frame_rate':'24/1','avg_frame_rate':'24/1','time_base':'1/12288','start_pts':'0','start_time':'0.000000',' duration_ts':'107520','duration':'8.750000','bit_rate':'1036420','max_bit_rate':'N/A','bits_per_raw_sample':'8','nb_frames':'210',' nb_read_frames':'N/A','nb_read_packets':'N/A','DISPOS ITION': {'default': '1', 'dub': '0', 'original': '0', 'comment': '0', 'lyrics': '0', 'karaoke': '0 ','强制':'0','hearing_impaired':'0','visual_impaired':'0','clean_effects':'0','attached_pic':'0','timed_thumbnails':'0'} ,'标签':{'语言':'und','handler_name':'VideoHandler','major_brand':'isom','minor_version':'512','compatible_brands':'isomiso2avc1mp41','encoder': 'Lavf58.26.101'}, 'filename': './sample_dataset_FaceForensic/fake/abc.mp4', 'nb_streams': '1', 'nb_programs': '0', 'format_name': 'mov,mp4,m4a, 3gp,3g2,mj2', 'format_long_name': 'QuickTime / MOV', 'size': '1133585', 'probe_score': '100'}

【问题讨论】:

    标签: python ffmpeg


    【解决方案1】:

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

    【讨论】:

    • 如何验证?请补充一些细节?
    • @DevLoverUmar print(mediainfo(full_file_path)) 没有显示任何音频信息,所以我根据提供的详细信息做了一个假设。显示来自 ffmpeg 命令的日志将验证这一假设。
    • @DevLoverUmar 查看 ffmpeg 进程的标准错误输出。或重定向到文件:ffmpeg -y -i input.mp4 output.mp4 2> ffmpeg.log,或者由于冗长而不太理想使用-report 选项并查找名称类似于ffmpeg-20201021-214944.log 的文件。
    • 好的,感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 2017-06-20
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    • 2011-05-17
    • 2013-04-14
    • 2020-10-17
    相关资源
    最近更新 更多