Как "на скорую руку" объединить видео и аудио в один файл.
Суть вот в чем: нужно натащить кучу роликов с ютуба, а там доступно приблизительно это

Т.е. либо тащим максимум 720р, либо отдельно видео и отдельно аудио...
А мне желательно натаскать в 1080.
Объединение аудио и видео потоков
Cinelerra пойдёт?
Добавлено: 06.11.2017 4:37:36 pm
И здесь посмотри: http://compizomania.blogspot.com/2014/03/10-linux.html
Rizado, та эт слишком жирно... В идеале возможность это все загнать в скрипт (т.е. без всяких гуев). И нужно без перекодирования потоков, а то у меня железяка загнется если всему этому recode сделать. Как ни крути, а несколько десятков часов видео - это немало...
Как "на скорую руку" объединить видео и аудио в один файл.
[console]ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental output.mp4
или попроще:
ffmpeg -i audio.mp3 -i video.avi video_audio_mix.mpg
[/console]
ffmpeg современный сам автоматически определяет опции по применению кодеков и декодера по указанному расширению файла, можно выходной поток указать любой из поддерживаемых вашим ffmpeg'ом.
О! Да-да, оно)) Спасибо.ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental output.mp4
ЗЫ
Попробовал -c:a сору - вообще бомба =)
Когда то использовал этот скрипт для ютуба:
#!/bin/bash
URL="$1"
EXT="mp4"
VF=136
AF=140
FILE_V="$(youtube-dl -f $VF $URL | grep Destination)"
FILE_A="$(youtube-dl -f $AF $URL | grep Destination)"
FILE_V="${FILE_V/\[download\] Destination: /}"
FILE_A="${FILE_A/\[download\] Destination: /}"
ffmpeg -i "$FILE_V" -i "$FILE_A" -c:v copy -c:a copy -map 0:0 -map 1:0 -y "$2".$EXT
rm {"$FILE_V","$FILE_A"}
Первый параметр адрес, второй имя выходного файла без расширения.
От куда что бралось покажет
[console]$ youtube-dl -F адрес[/console]
ormorph, Спасибо, занятный суриптик)
Нужно только его научить приоритетам выбора качаства¸а то не факт что указаное качество будет присутствовать в каждом видео....
ormorph, Спасибо, занятный суриптик)
Нужно только его научить приоритетам выбора качаства¸а то не факт что указаное качество будет присутствовать в каждом видео....
Ну удачи!
В принципе номера фиксированные в первой колонке вывода команды:
[console]$ youtube-dl -F адрес[/console]
Т.е. хватит просто парсить на наличие определенных номеров(кодов) определяющих формат и качество.
Т.е. хватит просто парсить на наличие определенных номеров(кодов) определяющих формат и качество.
Та собсно почти так и сделал:
VIDEO=$(echo "$AVAILABLE" | grep "video only" | grep -e 1280x720 -e 1920x1080)
AUDIO=$(echo "$AVAILABLE" | grep "audio only")
ALT=$(echo "$AVAILABLE" | grep "(best)")
А дальше, если $VIDEO == "" - то качаем то что попало в $ALT