【发布时间】:2020-08-31 09:46:22
【问题描述】:
我正在尝试创建两个流:一个是 mpegts UDP 流,另一个是 rtmp 到 Twitch 服务器。
此命令有效:
ffmpeg -threads:v 2 -threads:a 16 -filter_threads 2 -thread_queue_size 16 -y \
-f dshow -video_size 1920x1080 -pixel_format uyvy422 -framerate 25 -rtbufsize 500M -i video="Decklink Video Capture" \
-f dshow -rtbufsize 100M -i audio="Decklink Audio Capture" \
-preset ultrafast -c:v libx264 -tune zerolatency -b:v 900k -map 0:v:0 -f mpegts udp://127.0.0.1:5555 \
-pix_fmt yuv420p -c:v libx264 -crf 20 -tune zerolatency -f flv rtmp://live-fra05.twitch.tv/app/stream_key
但它需要双倍的编码 CPU 能力。
所以,按照this,我重写了这样的命令:
ffmpeg -threads:v 2 -threads:a 16 -filter_threads 2 -thread_queue_size 16 -y \
-f dshow -video_size 1920x1080 -pixel_format uyvy422 -framerate 25 -rtbufsize 500M -i video="Decklink Video Capture" \
-f dshow -rtbufsize 100M -i audio="Decklink Audio Capture" \
-preset ultrafast -c:v libx264 -tune zerolatency -b:v 900k \
-f tee "[select=\'0:v:0\':f=mpegts]udp://127.0.0.1:5555|[select=\'0:v:0,1:a:0\':f=flv]rtmp://live-fra05.twitch.tv/app/stream_key"
我写-f tee "[select=\'0:v:0\':f=mpegts]udp://127.0.0.1:5555|[select=\'0:v:0,1:a:0\':f=flv]rtmp://live-fra05.twitch.tv/app/stream_key"的意思是:
- 在 udp://127.0.0.1:5555 创建 UDP 流并且只包含来自“Decklink Video Capture”的视频流
- 创建 RTMP 流,其中我们包含与上述相同的视频流以及来自 “Decklink 音频捕获”的音频流
我收到错误消息:
Output file #0 does not contain any stream
我该如何解决这个问题?我假设我在命令中犯了一个错误。
【问题讨论】:
标签: ffmpeg