我不知道为什么,但我似乎无法使用ffmpeg在我的视频的右下角渲染水印.
我使用以下命令:
$ ffmpeg –i faded.mov -vf "movie=logo2.png [watermark]; [in][watermark] overlay=(main_w-overlay_w-10)/2:(main_h-overlay_h-10)/2 [out]" outputvideo3.mov
...
[NULL @ 0x7fa2ec001000] Unable to find a suitable output format for '–i'
–i: Invalid argument
Run Code Online (Sandbox Code Playgroud) 根据ffmpeg手册,设置-g是在"I"帧之间定义空间,并设置-bf为使用"B"帧.前者我得到了,但后者没有.
目标:我正在尝试使用GOP 3,12(M = 3,N = 12)的视频.这意味着:2"B"帧分隔每个"P"帧,"I"帧具有12帧距离.或者简单地说:"IBBPBBPBBPBBI"
我认为我只得到N = 12,使用以下命令:
ffmpeg -s cif -r 30 -b 64000 -bt 3200 -g 12 -y -i video.yuv -vcodec mpeg4 video.m4vMP4Box -hint -mtu 1460 -fps 30 -add video.m4v video.mp4ffmpeg -y -i video.mp4 video_ref.yuv../cmd/psnr 352 288 420 video.yuv video_ref.yuv > psnr_ref.txt../cmd/mp4trace -f -s 192.168.0.2 12346 video.mp4 > tracehead -n 20 trace结果:
[robert@10-2Fontes]$ head -n 20 trace
1 H 12002 9 0.000
2 P 11479 8 …Run Code Online (Sandbox Code Playgroud) 我在视频中添加了数千个矩形框.现在我正在使用这个命令:
ffmpeg.exe -i small.ts -vf drawbox=10:10:50:50:red,drawbox=100:100:200:200:green small_with_box.ts
Run Code Online (Sandbox Code Playgroud)
但是我不希望在整个框架上添加框,而是在给定的框架上添加框.任何人都知道我该怎么做?
我正在尝试修剪 75 GB 大小和 1 小时 28 分钟长的视频
我只想从中得到 7 秒
当我尝试这个时
ffmpeg -i Replay.mp4 -ss 01:21:24.0000 -to 01:21:32.0000 -acodec copy -vcodec copy ShortReplay2.mp4
Run Code Online (Sandbox Code Playgroud)
我明白了
Stream mapping:
Stream #0:1 -> #0:0 (copy)
Stream #0:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=-1.0 size= 0kB time=00:00:00.00 bitrate=N/A
Run Code Online (Sandbox Code Playgroud)
卡住了,什么也没发生,等了大约30分钟还是卡住
但是,当我尝试从视频的开头对其进行修剪时
ffmpeg -i Replay.mp4 -ss 00:00:00.000 -to 00:20:00.000 -acodec copy -vcodec copy ShortReplay2.mp4
Run Code Online (Sandbox Code Playgroud)
它可以正常工作
是不是因为文件太大,程序读取时间太长?我能做什么?
我使用来自“ https://johnvansickle.com/ffmpeg/ ”的版本:4.2.2(静态)
\n\n最终代码将位于“Amazon AWS lambda”上
\n\n目标:使用 url 流并添加 watermak
\n\n视频链接:\xe2\x80\x8b https://feoval.fr/519.mp4
\n\nWatermak 链接:\xe2\x80\x8b https://feoval.fr/watermark.png
\n\n./ffmpeg -i "https://feoval.fr/519.mp4" -i "./watermark.png" -filter_complex "overlay=W-w-10:H-h-10:format=rgb" -f "mp4" -movflags "frag_keyframe+empty_moov" -pix_fmt "yuv420p" test.mp4\nRun Code Online (Sandbox Code Playgroud)\n\n返回“分段错误”
\n\n我的计算机和 AWS Lambda 服务器上出现同样的错误
\n\n./ffmpeg -i "https://feoval.fr/519.mp4" -f "mp4" -movflags "frag_keyframe+empty_moov" -pix_fmt "yuv420p" test.mp4\nRun Code Online (Sandbox Code Playgroud)\n\n工作(但不是水印)
\n\n./ffmpeg -i "./519.mp4" -i "./watermark.png" -filter_complex "overlay=W-w-10:H-h-10:format=rgb" -f "mp4" -movflags "frag_keyframe+empty_moov" -pix_fmt "yuv420p" test.mp4\nRun Code Online (Sandbox Code Playgroud)\n\n工作(但不使用流)
\n\n非常感谢你 !
\n\n第一个返回“Segmentation failure”的案例的日志:
\n\n...\nStream mapping:\nStream …Run Code Online (Sandbox Code Playgroud) 试图将一堆mp4文件转换为webm.所以我运行以下命令.我用ffmpeg尝试了一个类似的命令.
avconv -i input.mp4 -threads 8 -s 1280x720 -pre libvpx-720p -b 3900k -pass 2 -acodec libvorbis -b:a 128k -ac 2 -f webm -y output/webm
Run Code Online (Sandbox Code Playgroud)
结果是:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
creation_time : 1970-01-01 00:00:00
encoder : Lavf52.32.0
Duration: 00:01:02.90, start: 0.000000, bitrate: 1649 kb/s
Stream #0.0(und): Video: mpeg4 (Simple Profile), yuv420p, 640x480 [PAR 4:3 DAR 16:9], 1492 kb/s, PAR 853:640 DAR 853:480, 23.94 fps, 30 tbr, 30 tbn, 30 tbc
Metadata: …Run Code Online (Sandbox Code Playgroud) 我已经在我的专用服务器(CentOS 7)上以 root 身份使用 ssh 成功安装了 ffmpeg。
ffmpeg 工作正常 - 但现在我需要在没有 root 访问权限的情况下使用它。
当我尝试在没有 root 访问权限的情况下使用 ffmpeg 时,出现以下错误:
ffmpeg: error while loading shared libraries: libx264.so.148:
cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
最终目标是能够在我没有 root 访问权限的 PHP 脚本中使用 ffmpeg。
我需要使用 ffmpeg 同时从视频创建多个缩略图(例如 12)。例如,如果视频时长 60 秒,我需要每 5 秒提取一次屏幕截图。
我使用以下命令在第 5 秒内获取帧。
ffmpeg -ss 5 -i video.webm -frames:v 1 -s 120x90 thumbnail.jpeg
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以通过一个命令获取多个缩略图?
尝试循环图像以获得分段的HLS输出.
ffmpeg -loop 1 -i image.png -vcodec libx264 -acodec aac -map 0 -f segment -segment_time 5 -segment_list /seg.m3u8 /200_%06d.ts
Metadata:
encoder : Lavf54.26.101
Stream #0:0: Video: h264, yuv444p, 1344x840, q=-1--1, 90k tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (png -> libx264)
Press [q] to stop, [?] for help
Failed to open bitstream filter h264_mp4toannexb for stream 0 with codec libx264: Invalid argument
[mpegts @ 0x7fe91a615600] H.264 bitstream malformed, no startcode found, use the h264_mp4toannexb bitstream filter (-bsf h264_mp4toannexb) …Run Code Online (Sandbox Code Playgroud) 我在Centos6服务器上遇到了Ffmpeg和Libvpx的问题.
命令:
ffmpeg -y -i /var/www/f1ccd3a27d36270492ce660da358b436.mp4 -t 99 acodec copy -vcodec libvpx -f webm /var/www/f1ccd3a27d36270492ce660da358b436.webm 2<&1
Run Code Online (Sandbox Code Playgroud)
输出:
FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
built on Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau …Run Code Online (Sandbox Code Playgroud)