2014-02-25 31 views
0

的commadline輸出當我運行命令ffmpeg -i rtsp://172.19.1.40/live.sdp -acodec copy -vcodec copy lala.avi如何捕獲從一個應用程序

FFmpeg的將是連續打印(刷新)的信息fpsbitrate大家第二。

如何使用Python保存這些信息?

enter image description here enter image description here enter image description here

+0

你不需要python。你可以重定向stdout和stderr。 –

+0

看看這個:http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html –

+0

嗨@JayanthKoushik它什麼也沒有顯示。看到我更新的帖子,謝謝〜 – newBike

回答

0

可以將stderr輸出重定向到一個文本文件,像這樣:

ffmpeg -i rtsp://172.19.1.40/live.sdp -acodec copy -vcodec copy lala.avi 2> log.txt 
+0

嘿它沒有顯示任何東西。看到我更新的帖子,謝謝〜 – newBike

+0

@poc - 查看更新的代碼。 – Drewness

0

如果你確實需要使用Python,你可以使用subprocess模塊subprocess.PIPEcommunicate像這樣:

import subprocess 

cmd = 'ffmpeg', '-i', 'rtsp://172.19.1.40/live.sdp', '-acodec', 'copy', '-vcodec', 'copy', 'lala.avi' 
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 
stdout, stderr = p.communicate() 

然後,命令的stdout和stderr將分別存儲在stdout和stderr變量中。然而,如果你所需要的只是存儲輸出,那麼德魯尼斯的答案會更好。

相關問題