我使用以下代码流式传输一个文件,并在视频的某个时间将视频放映的名称(name_of_show)放在屏幕的顶部,在屏幕的底部,它从video_title.txt中获取放映的名称,并将其放在屏幕的底部。
我想做的是找到一种方法,在间隔1或2分钟,拉出当前video_title.txt中的任何文本,并将其放在视频中几秒钟。
我将从另一个python程序更新video_title.txt。下面是我当前的代码。
command = [
"ffmpeg" , "-re" , "-i" , video[0] ,
"-vf" , "[in]drawtext=fontsize=40:fontcolor=white:box=1:boxcolor=black@0.8:boxborderw=5:fontfile=/home/fonts/timeless.ttf: text='" + name_of_show + "':x='W-(W+tw)*mod(t\,10)/10':y='H/20':enable='between(t,50,70)',drawtext=fontsize=20:fontfile=/home/fonts/timeless.ttf:textfile=/video_title.txt:fontcolor=white:box=1:boxcolor=black@0.8:boxborderw=5:x=W-w+5:y=h-th-50:enable='1'[out]"
"-vcodec" , "libx264", "-pix_fmt", "yuv420p",
"-preset" , "medium" , "-r" , "30" , "-g" , "48" , "-b:v" , "2500k" ,
"-acodec" , "libmp3lame" , "-ar" , "44100", "-threads" , "6" ,
"-q:a" , "3" , "-b:a" , "712000" ,"-bufsize", "512k" , "-f" ,
"flv" , STREAM_URL,
最终,我试图实现的效果是在Twitch/YouTube上一个长流,比如说1小时,有人可以发送一条短信,它就会出现在流中。
在DrawText中使用reload=1
和textfile
选项。来自drawtext筛选器文档:
重新加载
如果设置为1,则文本文件将在每个帧之前重新加载。一定要原子地更新它,否则它可能会被部分读取,甚至失败。
textfile
包含要绘制的文本的文本文件。文本必须是UTF-8编码字符序列。
如果没有使用参数text
指定文本字符串,则此参数是必需的。
如果同时指定了text
和textfile
,则会发生错误。
示例:
ffmpeg -i input.mp4 -vf "drawtext=texfile=mytext.txt:reload=1:fontsize=22:fontcolor=white" output.mp4
要进行原子更新,可以使用mv
或等效项:
mv temp.txt mytext.txt
问题内容: 我怎样才能把所有我从一个文本文件读入的元素使用 流 ,其中monitoredData类有这些3个私有变量:; 文本文件Activities.txt如下所示: 等等.... 前2个字符串由一个空格分隔,然后是2个制表符,再一个空格是2个制表符。 问题答案: 您需要引入一个工厂来创建,例如,我正在使用a 来创建from : 然后, 您的代码在流上进行操作应如下所示,并且您不需要使用Coll
我是一个Python和mongob的新手,我试图从一个cvs文件写入一个pymongo文档。错误如下: TypeError:'str'对象是不可调用的因为?我附上相关代码谢谢
当我只使用图像时,代码是正确的。但当我使用所有的代码时,会发生这样的情况: [NULL@00000000006ABE60]无法为“drawttext=fontfile=/ffmpeg/Arial”找到合适的输出格式。ttf:text='testing'fontcolor=white@1.0:fontsize=70:x=10:y=h-th-10:box=1:boxcolor=black@0.5:bo
null null 但问题是我想以编程的方式完成这个任务。 我实际上想做的是: 步骤 但正如我所提到的,Firefox对MKV说不。 所以我尝试了hls的东西,但我不能完全得到命令来生成流,也不能在飞行中播放。 我是在命令行上开始的 所以我想再做一次 我要请求服务器播放视频文件 它生成一个子进程FFmpeg,该进程执行代码转换 向客户端发送流 客户端应该能够搜索到底,并且应该播放该内容。
我写了一个函数,允许我从剪贴板中获取四列数据,拆分它,添加一列额外的列,重新组合它,并将其导出为文本文件。 我有两个问题:- 是否可以创建一个文件,其中包含我使用此函数创建的表,以便将该表粘贴到某些文本的中间? 邪恶的笑(Evil Grin的缩写) 其次,我试图修改函数,使其将一个文件名作为变量;即< code>xyztoinp 等等……但这并没有产生带有新文件名的输出;有人知道这是怎么做到的吗?
然后我尝试这样写音频帧: 问题是我从来不传递这个语句:“if(pkt.stream_index==st->index)”。数据包流索引从来不等于音频流索引。谁能指出我错在哪里? 更新: 顺便说一句,下面的答案没有帮助,因为它假设音频和视频流都来自同一个文件,而在我的情况下,只有音频来自外部源。