Создать аудио / видео, только аудио и только видео версию списка воспроизведения HLS того же медиа-файла - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть media.mp4 файл.

В настоящее время я преобразую его в список воспроизведения HLS с помощью этой команды:

ffmpeg -y -i \
  "media.mp4" \
  -g 48 -sc_threshold 0 \
  -profile:v baseline -level:v 3.0 -pix_fmt yuv420p \
  -map 0:0 -map 0:1 -map 0:0 -map 0:1 \
  -map 0:0 -map 0:1 -map 0:0 -map 0:1 \
  -map 0:0 -map 0:1 -map 0:0 -map 0:1 \
  -c copy \
  -s:v:0 256x144   -c:v:0 libx264 -b:v:0 200k  -minrate:v:0 200k   -maxrate:v:0 200k   -bufsize:v:0 200k \
  -s:v:1 426x240   -c:v:1 libx264 -b:v:1 400k  -minrate:v:1 400k   -maxrate:v:1 400k   -bufsize:v:1 400k \
  -s:v:2 640x360   -c:v:2 libx264 -b:v:2 700k  -minrate:v:2 700k   -maxrate:v:2 700k   -bufsize:v:2 700k \
  -s:v:3 854x480   -c:v:3 libx264 -b:v:3 1280k -minrate:v:3 1280k  -maxrate:v:3 1280k  -bufsize:v:3 1280k \
  -s:v:4 1280x720  -c:v:4 libx264 -b:v:4 2560k -minrate:v:4 2560k  -maxrate:v:4 2560k  -bufsize:v:4 2560k \
  -s:v:5 1920x1080 -c:v:5 libx264 -b:v:5 5120k -minrate:v:5 5120k  -maxrate:v:5 5120k  -bufsize:v:5 5120k \
  -var_stream_map "v:0,a:0 v:1,a:1 v:2,a:2 v:3,a:3 v:4,a:4 v:5,a:5" \
  -master_pl_name "master.m3u8" \
  -f hls \
  -hls_playlist_type vod \
  -hls_time 5 \
  -hls_list_size 0 \
  -hls_flags split_by_time+round_durations \
  -start_number 1 \
  -hls_segment_filename "av/%v/%02d.ts" \
  "av/%v/prog_index.m3u8"

Я могу создавать только аудио и видео только версию с -an и -vn флагов, но он будет конвертировать файл 3 раза.

Есть ли способ создать все три версии только с одним преобразованием?

Я не мог найти способ конвертировать получившуюся master.m3u8 в версию только для аудио и видео. Также попытался создать converted_media.mp4, а затем использовать его, чтобы просто скопировать аудио и видео потоки и просто создать 3 списка воспроизведения, но это тоже не сработало.

Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...