У меня есть файл mp4 с форматом ниже,
$ ffprobe -i 70_1.mp4 -hide_banner
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '70_1.mp4':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2018-10-30T08:57:38.000000Z
Duration: 00:13:55.76, start: 0.000000, bitrate: 2246 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, smpte170m/bt709/unknown, progressive), 1440x1920, 2118 kb/s, 58.75 fps, 60 tbr, 600 tbn, 1200 tbc (default)
Metadata:
creation_time : 2018-10-30T08:57:38.000000Z
handler_name : Core Media Video
encoder : 'avc1'
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s (default)
Metadata:
creation_time : 2018-10-30T08:57:38.000000Z
handler_name : Core Media Audio
Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 119 kb/s (default)
Metadata:
creation_time : 2018-10-30T08:57:38.000000Z
handler_name : Core Media Audio
Поскольку автоматический канал особенный, при воспроизведении в браузере нет звука.
Поэтому я использую ffmpeg для передачи с ffmpeg -i 70_1.mp4 -crf 30 -b:a 23k -b:v 96k -threads 4 -map 0:0 -map 0:2 -y ooo.mp4
, сгенерированный файл mp4 может воспроизводиться в браузере.
$ ffprobe.exe ooo.mp4 -hide_banner
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'ooo.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.17.101
Duration: 00:13:55.79, start: 0.000000, bitrate: 246 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc), 1440x1920, 209 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc (default)
Metadata:
handler_name : Core Media Video
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 23 kb/s (default)
Metadata:
handler_name : Core Media Audio
Но есть одна проблема, мне нужно обработать файл mp4 с множеством форматов, некоторые с 1 аудиоканалом, некоторые с 2, поэтому я хочу знать, как выбрать аудиоканал с самым большим бит / с.