2016-01-11 3 views
2

Я попытался кодировать необработанное видео yuv, чтобы получать потоки с различными битрейтами libx264 в качестве видеокодека в команде ffmpeg. Вот он:Использование команды FFmpeg

ffmpeg.exe -f rawvideo -vcodec rawvideo -s 1920x1080 -r 25 -pix_fmt yuv420p -i D:\TestSeqncs\crowd_run_1080p25.yuv -c:v libx264 -preset ultrafast -b:v 5000K C:\Users\sree\Desktop\FFmpeg_Experiment\crowd1080p5.264 -s 1280x720 -b:v 4000K C:\Users\sree\Desktop\FFmpeg_Experiment\crowd720p4.264 -s 704x576 -b:v 2000K C:\Users\sree\Desktop\FFmpeg_Experiment\crowd704p2.264.

У меня тоже есть выход.

Тогда я хочу, чтобы мультиплексирование тезисов потоков, чтобы получить единый транспортный поток, вот это:

" ffmpeg.exe -i crowd1080p5.264 -i crowd720p4.264 -i crowd704p2.264 -map 0 -map 1 -map 2 muxout.ts ".

Но моя задача - делать обе операции в одной команде (без использования & & и ffmpeg снова в той же команде), пожалуйста, помогите мне, если у кого-нибудь есть идея?

ответ

2

Попробуйте

ffmpeg.exe -f rawvideo -vcodec rawvideo -s 1920x1080 -r 25 -pix_fmt yuv420p -i D:\TestSeqncs\crowd_run_1080p25.yuv -lavfi "[0:v]split=2[in2][in3];[in2]scale=1280x720[out2];[in3]scale=704x576[out3]" -map 0:v -map "[out2]" -map "[out3]" -c:v libx264 -preset ultrafast -b:v:0 5000K -b:v:1 4000K -b:v:2 2000K muxout.ts 
+0

Спасибо Mulvya. У меня есть один TS. Это действительно полезно в моей работе. –