
Recherche avancée
Autres articles (112)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)
Sur d’autres sites (14628)
-
drawbox don't work on remote server and works on local
5 décembre 2015, par efpiesI’ve got a completely weird problem.
I need to draw the text over the filled rectangle. The problem is that the command line command that work on my local machine don’t work on the server ! To be precise, only
drawbox
command don’t work.Here’s the command.
ffmpeg -i shake.mp4 -vf "scale=300:150,setsar=1/1,drawbox=w=300: h=16: x=0: y=134: color=0x1a5757: t=1000000,drawtext=x=5: y=136: fontfile=Arial.ttf: text='fdsf': fontcolor=0xd44e4e" -c:v h264 -preset medium -b:v 256k -f mp4 shake_conv.mp4
Clarification
It seems, that my question is unclear. Ok, here’s clarification.
I need to draw the text over the filled rectangle.
It means, that, at first, I have a video. Then I would like to draw a bar at the [0 ; 134] with width 300px and height 16px, painted with #1A5757 color. And over that bar should be placed a text.
The problem is that the command line command that work on my local machine don’t work on the server !
It means that I have 2 environments : local machine (my Mac OS X 10.9.2 with ffmpeg 2.0.2 installed) and the server (Debian 7 with ffmpeg 1.0.8 installed. Quite old, dunno, but no errors were in this case ; can’t find any info about version dependency).
The last part,
the command line command that work on my local machine don’t work on the server
To be precise, only
drawbox
command don’t work.means that the same command above draws the bar I need in my local environment but don’t draw it on the server side. The text is drawed correctly in both cases. One more time : the text is drawed, the bar isn’t drawed. That’s my problem. I need a bar over the video. And there aren’t any bars when I execute this command on server.
Now, I hope, this is quite clear.
Here’s the output.
ffmpeg version 1.0.8 Copyright (c) 2000-2013 the FFmpeg developers
built on Sep 12 2013 11:57:09 with gcc 4.7 (Debian 4.7.2-5)
configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libfdk-aac --enable-libdc1394 --disable-altivec --dis libavutil 51. 73.101 / 51. 73.101
libavcodec 54. 59.100 / 54. 59.100
libavformat 54. 29.104 / 54. 29.104
libavdevice 54. 2.101 / 54. 2.101
libavfilter 3. 17.100 / 3. 17.100
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'shake.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 1970-01-01 00:00:00
encoder : Lavf52.40.0
Duration: 00:00:29.24, start: 0.000000, bitrate: 2243 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 2111 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 127 kb/s
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : SoundHandler
File 'llll.mp4' already exists. Overwrite ? [y/N] y
using SAR=1/1
[libx264 @ 0x229e7a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x229e7a0] profile High, level 1.3
[libx264 @ 0x229e7a0] 264 - core 132 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=256 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'llll.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf54.29.104
Stream #0:0(und): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 300x150 [SAR 1:1 DAR 2:1], q=-1--1, 256 kb/s, 25 tbn, 25 tbc
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
Stream #0:1(und): Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, s16, 128 kb/s
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libx264)
Stream #0:1 -> #0:1 (aac -> libfaac)
Press [q] to stop, [?] for help
SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] channel element 1.15 is not allocated
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] TYPE_FIL: Input buffer exhausted before END element found
Error while decoding stream #0:1: Operation not permitted
Multiple frames in a packet from stream 1
[aac @ 0x228d5c0] channel element 3.11 is not allocated
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
[aac @ 0x228d5c0] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x228d5c0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
Error while decoding stream #0:1: Operation not permitted
frame= 731 fps=244 q=32766.0 Lsize= 1497kB time=00:00:29.16 bitrate= 420.6kbits/s
video:1028kB audio:447kB subtitle:0 global headers:0kB muxing overhead 1.533339%
[libx264 @ 0x229e7a0] frame I:5 Avg QP:27.90 size: 6997
[libx264 @ 0x229e7a0] frame P:578 Avg QP:28.74 size: 1732
[libx264 @ 0x229e7a0] frame B:148 Avg QP:25.26 size: 107
[libx264 @ 0x229e7a0] consecutive B-frames: 59.5% 40.5% 0.0% 0.0%
[libx264 @ 0x229e7a0] mb I I16..4: 25.6% 9.1% 65.4%
[libx264 @ 0x229e7a0] mb P I16..4: 2.1% 1.1% 3.8% P16..4: 12.3% 15.3% 15.6% 0.0% 0.0% skip:49.7%
[libx264 @ 0x229e7a0] mb B I16..4: 0.8% 0.0% 0.0% B16..8: 17.6% 3.3% 0.9% direct: 0.5% skip:76.9% L0:39.7% L1:57.5% BI: 2.8%
[libx264 @ 0x229e7a0] final ratefactor: 26.03
[libx264 @ 0x229e7a0] 8x8 transform intra:14.3% inter:23.4%
[libx264 @ 0x229e7a0] coded y,uvDC,uvAC intra: 54.1% 68.9% 58.9% inter: 17.7% 19.5% 10.0%
[libx264 @ 0x229e7a0] i16 v,h,dc,p: 58% 33% 5% 4%
[libx264 @ 0x229e7a0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 12% 22% 6% 6% 8% 7% 9% 10%
[libx264 @ 0x229e7a0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 19% 20% 5% 5% 7% 8% 6% 6%
[libx264 @ 0x229e7a0] i8c dc,h,v,p: 50% 25% 19% 6%
[libx264 @ 0x229e7a0] Weighted P-Frames: Y:2.6% UV:1.7%
[libx264 @ 0x229e7a0] ref P L0: 70.2% 11.0% 10.1% 8.5% 0.1%
[libx264 @ 0x229e7a0] ref B L0: 94.3% 5.7%
[libx264 @ 0x229e7a0] kb/s:287.75 -
Finding audio peaks in video files
23 octobre 2013, par Adam LangsnerI have a bunch of video files that I want to process. I want to write a program that can find the audio peaks in each file and return the times where those peaks occurred.
I've looked for a lot of different APIs in different languages but couldn't get any of them to work. I am partial to php and java, so if anyone knows any good audio processing libraries in those languages that would be great ! But really I don't care too much about the language. I will need to run this program on a cron.
Also, is it possible to use system calls to ffmpeg from within a script to accomplish this ? Thanks in advance.
-
Popen subprocess giving wrong ffmpeg process ID when trying to close
28 octobre 2023, par GokuI'm trying to create a Video Management System application using
Python
andDjango
, that displays live camera stream and do video recording. For this, I add cameras using POST request and everything works fine.

But when I am required to update a camera's details, like IP address or password, then first I delete the camera and then create a new instance with same camera name. The problem I'm facing is that the process ID of the camera (
ffmpeg
instance here) is not updating, e.g. if initially the process ID was 10, then it remains 10 (in terminate() function in the code) even when I re-create the camera with new details but I do get new process ID in start() function.

Below is the code :


import subprocess
from subprocess import Popen
import os, sys
import threading
import time
from datetime import datetime
import pytz
import os, signal


"""This class is used to create camera objects to display live stream and recordings,
 it is also used to manage recordings files by deleting them at the given time"""
class CameraStream:
 
 def __init__(self, device_name, username, password, ip_address, storage_days):

 self.cam_name = device_name
 self.username = username
 self.password = password
 self.cam_ip = ip_address
 self.storage_days = storage_days
 self.p1 = None
 self.p2 = None
 self.p1_id = None
 self.p2_id = None

 self.recordings_list = []

 folder_name = f"videos/Recordings/{self.cam_name}"
 folder_name2 = f"videos/LiveStreams/{self.cam_name}"

 if not os.path.exists(folder_name):
 os.mkdir(folder_name)
 if not os.path.exists(folder_name2):
 os.mkdir(folder_name2)

 self.directory = folder_name

 t = threading.Thread(target=self.maintain_recordings, args=())
 t.start()

 self.live_stream = f"ffmpeg -fflags nobuffer -rtsp_transport tcp -i rtsp://{self.username}:{self.password}@{self.cam_ip}:554/stream1 -copyts -vcodec copy -acodec copy -hls_flags delete_segments+append_list -f hls -hls_time 6 -hls_list_size 5 -hls_segment_type mpegts -hls_segment_filename videos/LiveStreams/{self.cam_name}/%d.ts videos/LiveStreams/{self.cam_name}/index.m3u8".split(" ")
 self.recording = f"ffmpeg -use_wallclock_as_timestamps 1 -rtsp_transport tcp -i rtsp://{self.username}:{self.password}@{self.cam_ip}:554/stream1 -vcodec copy -acodec copy -f segment -reset_timestamps 1 -segment_time 1800 -segment_format mp4 -segment_atclocktime 1 -strftime 1 videos/Recordings/{self.cam_name}/%Y%m%dT%H%M%S.mp4".split(" ")

 self.start()


 def start(self):
 self.p1 = Popen(self.live_stream)
 self.p2 = Popen(self.recording)
 # self.p1.wait() # wait() is not letting the POST request to complete. Hence, using time.sleep() to get process id
 # self.p2.wait()
 time.sleep(2)
 self.p1_id = self.p1.pid
 self.p2_id = self.p2.pid
 print("In start func: ", self.p1_id, self.p2_id) # gives new process ID here

 def terminate_process(self):
 print("you have awakened me!")
 try:
 try:
 print("In terminate func: ", self.p1_id, self.p2_id) # gives older process ID here
 os.kill(int(self.p1_id), signal.SIGKILL)
 os.kill(int(self.p2_id), signal.SIGKILL)
 print("terminated by process id!")
 except:
 print("could not delete by process id!")
 try:
 self.p1.terminate()
 self.p2.terminate()
 print("terminated by terminate()")
 except:
 print("could not delete by terminate()")
 try:
 self.p1.kill()
 self.p2.kill()
 print("terminated by kill()")
 except:
 print("could not delete by kill()")
 except Exception as e:
 print("Failed to stop ffmpeg: ", e)



I think I'm making a mistake when deleting the
ffmpeg
subprocess but can't figure out what it is. Have tried many methods to stop/kill the subprocess but I'm still facing the problem.
I believe there is a problem with the terminate_process() function.

I'm deleting the object by using the
del
keyword, e.g.del
, maybe it's keeping the object in the memory but only destroying the reference to that object.