天道酬勤,学无止境

video

What are the differences between using an HTML5 embedded video vs. an iframe with a YouTube link?

I'm debating whether or not to store a video on my server and call it through an HTML5 tag, or upload the video onto YouTube and use an iframe to embed the YouTube link. I'm not sure which would work more efficiently, or the differences between each one. What are the differences between using a HTML5 video tag and using a YouTube link and iframe tag?

2022-06-06 14:01:07    分类:问答    html   video   iframe   html5-video

FFmpeg: omitting -filter_complex results in missing video in some players

问题 我创建了一个不那么简单的 ffmpeg 命令,它带有一个复杂的过滤器来将开/关字幕附加到视频中。 在同一过程中,视频被调整大小并重新编码。 这在我测试过的所有播放器中都可以正常工作。 当我省略 -filter_complex 参数和图像输入时,生成的文件在 VLC 中按预期播放,但在 Windows Media Player 中只有音频(没有视频)。 这一切都在 Windows 10 上使用标准 Windows 批处理文件完成。 有人知道这里发生了什么吗? 我的 ffmpeg foo 非常有限。 ffmpeg.exe ^ -i "..\videos\film.mov" ^ -y ^ -codec:a aac ^ -s:v 1280x720 ^ -codec:v libx264 -preset slower -tune animation -crf 22 ..\videos\film.mov.m4v" ffmpeg.exe ^ -i "..\videos\film.mov" ^ -i OpeningCredits.de.png -i ClosingCredits.de.png ^ -filter_complex "[0:v][1:v] overlay=0:0:enable='between(t,0,3.5)',drawtext=enable='between(t,0,3.5)'

2022-05-16 23:48:04    分类:技术分享    video   ffmpeg   video-encoding

How to live stream a local video using FFmpeg

问题 我正在尝试习惯 FFmpeg 库,目前,我一直在尝试使用 FFmpeg 在 VLC 上流式传输本地视频。 我一直在使用的命令是: $ ffmpeg -i sample.mp4 -v 0 -vcodec mpeg4 -f mpegts udp://127.0.0.1:23000 我无法在 VLC 上流式传输文件。 任何帮助表示赞赏。 回答1 在第一个终端: $ ffmpeg -i sample.mp4 -v 0 -vcodec mpeg4 -f mpegts udp://127.0.0.1:23000 打开第二个终端并使用: $ ffplay udp://127.0.0.1:23000 回答2 回答3 它有效,但在 VLC 上很难看。 在 MacOS Catalina 上: ffmpeg -f avfoundation -framerate 30 -i "0" -f mpeg1video -b 200k -r 30 -vf scale=640:360 udp://127.0.0.1:5555 它适用于: ffplay -fflags nobuffer -flags low_delay -framedrop -strict experimental udp://127.0.0.1:5555 回答4 ffmpeg -re -i sample.mp4 -v 0 -vcodec

2022-05-16 21:34:18    分类:技术分享    video   ffmpeg   stream   udp   VLC

How to split a video frame into 9 pieces? [duplicate]

问题 这个问题在这里已经有了答案: opencv 使用 python - 将 roi 复制到新的较小图像1 个答案 4年前关闭。 我在 Python3 中使用 Opencv2。 我正在为新闻视频编写“镜头边界检测”程序。 一开始我只需要将视频帧分成 9 块。 但是,我不知道该怎么做,因为我是这个领域的新手。 我通过裁剪来做到这一点,但在我看来,将框架分成几部分是不正确的做法。 注意:当我使用“我的标题”进行搜索时,我无法获得 ROI 答案。 但现在看来,这就是投资回报率。 回答1 例如,您需要使用 ROI 并将不同的图像添加到数组中。 我用我的猫测试过: 这里有代码:(按“q”键完成) import cv2 cap = cv2.VideoCapture(0) n_rows = 3 n_images_per_row = 3 while(True): # Capture frame-by-frame ret, frame = cap.read() height, width, ch = frame.shape roi_height = height / n_rows roi_width = width / n_images_per_row images = [] for x in range(0, n_rows): for y in range(0,n_images_per_row)

2022-05-16 21:20:23    分类:技术分享    python   opencv   video   video-processing

FFMPEG overlaying video with image removes audio

问题 ffmpeg.exe -i input.mp4 -i rj2k15y3.png -filter_complex "[0:v]scale=440:440,setsar=1:1,pad=640:640:(ow-iw)/2:120:color=white[padded]; [padded]overlay=0:0[out]" -map "[out]" -y -metadata title="video1" result.mp4 回答1 由于制作了 map 语句,因此只有明确映射的流被复用到输出中。 更改为...[padded]overlay=0:0" -y ...或添加-map 0:a

2022-05-16 21:00:10    分类:技术分享    video   ffmpeg

Issue opening video file with OpenCV VideoCapture

问题 我一直在为这个问题审查许多类似的问题,但恐怕我无法弄清楚为什么我无法在 opencv 中打开文件 我有一个文件“small.avi”,它是我从互联网上获得的“small.mp4”的重新编码。 我用 ffmpeg -i small.mp4 small.avi 重新编码,我这样做是因为我也无法打开 mp4 文件,在线它建议先尝试 avi 格式。 这是我的代码(主要是从教程中复制的,有几行显示一些相关信息): import cv2 import os for _, __, files in os.walk("."): for file in files: print file print "" cap = cv2.VideoCapture("small.mp4") print cap.isOpened() print cap.open("small.avi") i = 0 while cap.isOpened() and i < 10: i += 1 ret, frame = cap.read() print "read a frame" gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) cv2.imshow('frame', gray) if cv2.waitKey(1) & 0xFF == ord('q'): break cap

2022-05-16 20:05:05    分类:技术分享    python   opencv   video   ffmpeg

OpenCV doesn't report accurate frame rate/count

问题 我有一个 33 秒的视频,我正在尝试使用 OpenCV 处理。 我的目标是确定每个帧对应的时间实例(相对于视频的开始)。 我这样做是为了能够比较以不同帧速率录制的同一场景的视频中的帧。 什么工作: FPS 正确报告为 59.75。 这与ffprobe报告的内容一致,因此我很高兴相信这是正确的。 我遇到的问题是: CAP_PROP_POS_MSEC返回不正确的值。 到视频结束时,最长为 557924 毫秒(超过 9 分钟)。 对于 33 秒的视频,这是不对的。 CAP_PROP_FRAME_COUNT也不正确。 它被报告为 33371,以 59.75 fps 的速度可以提供超过 9 分钟的镜头。 与上述错误一致,但仍然不正确。 CAP_PROP_POS_FRAME同样不正确。 视频可以在这里找到(大约 10MB)。 关于什么可能是错误的任何想法? ffprobe输出: FFprobe version SVN-r20090707, Copyright (c) 2007-2009 Stefano Sabatini libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 0 / 52.20. 1 libavformat 52.31. 0 / 52.31. 0 built on Jan 20 2010 00:13:01, gcc: 4.4.3

2022-05-16 18:07:15    分类:技术分享    c++   video   opencv   video-processing

Creating a video from the visible window or view

问题 回答1 您可以截取屏幕截图(使用 UIGetScreenImage)并将图像存储到数组中。 然后使用 mpeg 编码器将其转换为视频。

2022-05-16 16:18:05    分类:技术分享    iphone   video   camera   avfoundation

WebRTC. Not showing video

问题 <html> <head> <meta charset="UTF-8"> </head> <body> <script> window.onload = function () { navigator.webkitGetUserMedia({ video: true }, getStream, noStream); }; function getStream(stream) { var url = window.webkitURL.createObjectURL(stream); var video = document.getElementById('video'); video.src = url; } function noStream(faild) { } </script> <video id="video" autoplay="autoplay" width="400"></video> </body> </html> 回答1 工作代码: <head> <meta charset="UTF-8"></script> </head> <body> <script> window.onload = function () { var constraints = { audio: true, video: { width: 1280, height: 720 } }

2022-05-15 17:05:10    分类:技术分享    javascript   video   webrtc

ffmpeg start_time is negative

问题 我正在使用 ffmpeg 按开始/结束时间分割视频。 例如,我有一组时间 [[0,2],[2,4],[4,6]],我会在这里调用 ffmpeg 3 次以在时间 0、2 创建三个 2 秒的视频, 和 4。 我的问题是这些时间(这是正确的)没有正确分割视频。 当我使用ffprobe -i test.mov -show_format检查视频的统计信息时,我注意到start_time=-0.381044 。 我也知道这似乎是由在 QuickTime 中修剪视频以制作此视频引起的。 为了纠正这个问题,我必须在我的代码中的某处添加 (start + 0.381044) ,并且输出很好。 那么,为什么 start_time 会被 quicktime 修整设置为负值呢? 如何设置 start_time=0,这样我的代码可以在没有 + 0.381044 的情况下工作? 回答1 视频流通常是帧间编码的,即大多数帧依赖于要解码的其他帧。 因此,当这样的流被修剪时,没有转码,那些参考帧,即使不在修剪的时间范围内,也必须包含在输出中,以便视频可以播放。 现在,修剪 s/w 可以通过两种方式处理这些参考帧的时间戳: 为它们分配负 PTS,以便它们可用于解码,但不显示。 或者从零(或任何正值)开始所有时间戳,以便它们也显示出来。 在这种情况下,视频修剪不精确并且包含额外的帧。 如果主视频是用 FFmpeg

2022-05-15 16:11:18    分类:技术分享    video   terminal   ffmpeg