Reputation: 14011
I'm unable to create single channel audio file with ffmpeg from an mp4 file, with the following python code
command_line = "ffmpeg -i "+full_file_path+" -ac 1 -ar 16000 -vn "+full_file_path[:-4]+".wav"
args = shlex.split(command_line)
Here is the media info of my mp4 file
from pydub.utils import mediainfo
print(mediainfo(full_file_path))
Output
{'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', 'DISPOSITION': {'default': '1', 'dub': '0', 'original': '0', 'comment': '0', 'lyrics': '0', 'karaoke': '0', 'forced': '0', 'hearing_impaired': '0', 'visual_impaired': '0', 'clean_effects': '0', 'attached_pic': '0', 'timed_thumbnails': '0'}, 'TAG': {'language': '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'}
Upvotes: 0
Views: 295
Reputation: 134283
Your MP4 file has no audio, so ffmpeg
can't extract any audio from it.
Upvotes: 2