
Recherche avancée
Autres articles (34)
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Submit enhancements and plugins
13 avril 2011If you have developed a new extension to add one or more useful features to MediaSPIP, let us know and its integration into the core MedisSPIP functionality will be considered.
You can use the development discussion list to request for help with creating a plugin. As MediaSPIP is based on SPIP - or you can use the SPIP discussion list SPIP-Zone. -
D’autres logiciels intéressants
12 avril 2011, parOn ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
Videopress
Site Internet : (...)
Sur d’autres sites (4935)
-
bash ffmpeg find and spaces in filenames
27 octobre 2017, par Ha.MaierI have a problem with ffmpeg and spaces in folders/filenames. My code looks like this :
cd /volume1/PUBLIC/Musik/AutoConvert
find . -type d -exec mkdir -p -- /volume1/PUBLIC/Musik/Converted/{} \;
find -type f |sed 's|./||' |while read NEWNAME; do
ffmpeg -i ""/volume1/PUBLIC/Musik/AutoConvert/"$NEWNAME""" -codec:a libmp3lame -qscale:a 2 "/volume1/PUBLIC/Musik/Converted/"${NEWNAME%.[Ff][Ll][Aa][Cc]}".mp3"
echo done with file: "$NEWNAME"
doneBut that fails with ffmpeg if there is a space anywhere. My Folder Structure looks like that :
user@NAS:/volume1/PUBLIC/Musik/AutoConvert$ find -type f |sed 's|./||'
A B/C.mp3
A B/C D.mp3
A/C D.mp3
A/C.mp3The /Converted/A/C.mp3 does work, but thats the only one. All the others with Spaces in Folder oder Filename fail.
[NULL @ 0x20bb3e0] Unable to find a suitable output format for '/volume1/PUBLIC/Musik/Converted/A/C'
/volume1/PUBLIC/Musik/Converted/A/C: Invalid argument
done with file: A/C D.mp3
[NULL @ 0x11bf280] Unable to find a suitable output format for '/volume1/PUBLIC/Musik/Converted/A'
/volume1/PUBLIC/Musik/Converted/A: Invalid argument
done with file: A B/C D.mp3
[NULL @ 0x11f93e0] Unable to find a suitable output format for '/volume1/PUBLIC/Musik/Converted/A'
/volume1/PUBLIC/Musik/Converted/A: Invalid argument
done with file: A B/C.mp3If i don’t use the double " on ffmpeg -input i get the error :
/volume1/PUBLIC/Musik/AutoConvert/A: Is a directory
done with file: A B/C.mp3
/volume1/PUBLIC/Musik/AutoConvert/A: Is a directory
done with file: A B/C D.mp3
/volume1/PUBLIC/Musik/AutoConvert/A/C: No such file or directory
done with file: A/C D.mp3It looks like i’m on the right track... just way too far from my goal.
Can anyone offer some help ?
-
Issues with FFmpeg Recording RTSP Stream with HEVC Codec : Blurred Bottom of Video
31 août 2024, par user2877989I'm using FFmpeg to capture an RTSP stream from an IMOU camera, and I'm encountering an issue with the recorded video. The output video is encoded using the HEVC codec, but the bottom part of the video appears blurred while the top part displays correctly.


Here is the command I'm using :


ffmpeg -i "rtsp://admin:xxxxx@192.168.1.32:554/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif" -c copy -f segment -segment_time 5 -reset_timestamps 1 -strftime 1 "./%Y_%m_%d_%H_%M_%S.mp4"



Details :


- 

- FFmpeg Version : [Include your FFmpeg version here] Camera Model : IMOU
[Include model if known] Codec Used : HEVC (libx265) Issue : The output
video has a blurred bottom section, while the top part looks fine.




Things I've Tried :


- 

- Re-encoding the video with -c:v hevc instead of -c copy.
- Adding -bsf:v hevc_mp4toannexb to the command.






None of these solutions have resolved the issue.


Questions :


What could be causing the bottom part of the video to appear blurred ?
Are there any additional FFmpeg options or settings that might help resolve this issue ?
Is there a better approach or command for handling RTSP streams with HEVC encoding to avoid this problem ?
Any advice or suggestions would be greatly appreciated !


Thank you !




-
Xuggler decoding h264 issues
18 juin 2014, par ValenthorpeI’m trying to use Xuggler to transcode IP Camera rtsp streams to rtmp streams (all with h264 codecs). I currently have 2 IP cameras to test with, and wrote a basic Java program using Xuggler to do the transcoding of these streams.
Here’s snippet of code in question :
// Setup the Input Container
InContainer = IContainer.make();
if(InContainer.open(InUrl, IContainer.Type.READ, null, false, false) < 0)
{
System.err.println("Could not open input container");
return false;
}
System.out.println("Input cointainer opened...");
// Loop until we find the key packet
IPacket keyPacket = IPacket.make();
InContainer.readNextPacket(keyPacket);
//System.out.println("Waiting on key frame...");
//while(InContainer.readNextPacket(keyPacket) >= 0 && !keyPacket.isKeyPacket()) {
//System.out.println(keyPacket.toString());
//}
System.out.println(keyPacket.toString());
System.out.println(bytesToHex(keyPacket.getData().getByteArray(0, keyPacket.getData().getSize())));
videoStreamId = -1;
int numStreams = InContainer.getNumStreams();
System.out.println("Num. Streams in Container: " + numStreams);
for(int i = 0; i < numStreams; i++){
IStream stream = InContainer.getStream(i);
IStreamCoder coder = stream.getStreamCoder();
if(coder.getCodecType() == ICodec.Type.CODEC_TYPE_VIDEO)
{
VideoDecoder = coder;
videoStreamId = i;
if(VideoDecoder.open(null, null) < 0){
System.err.println("Could not open video decoder for input container");
return false;
}
System.out.println("Video decoder opened...");
// Need to decode at least one key frame
IVideoPicture keyPicture = IVideoPicture.make(VideoDecoder.getPixelType(), 0, 0);
int bytesDecoded = VideoDecoder.decodeVideo(keyPicture, keyPacket, 0);
if(bytesDecoded < 0)
{
throw new RuntimeException("Unable to decode key video packet");
}
System.out.println(DatatypeConverter.printBase64Binary(VideoDecoder.getExtraData().getByteArray(0, VideoDecoder.getExtraData().getSize())));
}
else // The stream has an unkown codec type, and no codec ID, we need to set the StreamCoder
{
coder.setCodec(ICodec.findDecodingCodec(ICodec.ID.CODEC_ID_H264));
coder.setWidth(352);
coder.setHeight(288);
coder.setPixelType(IPixelFormat.Type.YUV420P);
VideoDecoder = coder;
videoStreamId = i;
/*
// Create the Extradata buffer
byte[] start_sequence = new byte[]{0, 0, 1};
byte[] extraData1 = DatatypeConverter.parseBase64Binary("Z0IAHtoFglMCKQI=");
byte[] extraData2 = DatatypeConverter.parseBase64Binary("aN4Fcg==");
int extraDataSize = extraData1.length + extraData2.length + start_sequence.length * 2;
int destPos = 0;
byte[] extraData = new byte[extraDataSize];
System.arraycopy(start_sequence, 0, extraData, destPos, start_sequence.length);
destPos += start_sequence.length;
System.arraycopy(extraData1, 0, extraData, destPos, extraData1.length);
destPos += extraData1.length;
System.arraycopy(start_sequence, 0, extraData, destPos, start_sequence.length);
destPos += start_sequence.length;
System.arraycopy(extraData2, 0, extraData, destPos, extraData2.length);
*/
if(VideoDecoder.open(null, null) < 0)
{
System.err.println("Could not open video decoder for input container");
return false;
}
/*
// Set the StreamCoder extradata
IBuffer extraBuffer = IBuffer.make(null, extraData, 0, extraDataSize);
int result = VideoDecoder.setExtraData(extraBuffer, 0, extraDataSize, true);
if(result < 0)
{
System.err.println("Could not set the coder ExtraData");
}
else
{
System.out.println("VideoDecoder ExtraData set!");
}*/
//System.out.println(DatatypeConverter.printBase64Binary(VideoDecoder.getExtraData().getByteArray(0, VideoDecoder.getExtraData().getSize())));
IVideoPicture keyPicture = IVideoPicture.make(VideoDecoder.getPixelType(), VideoDecoder.getWidth(), VideoDecoder.getHeight());
int bytesDecoded = VideoDecoder.decodeVideo(keyPicture, keyPacket, 0); //key/keyPacket
if(bytesDecoded < 0)
{
throw new RuntimeException("Unable to decode key video packet");
}
}
}This program is able to successfully transcode one of the camera’s streams without any problems.
The other, however, has been giving me constant headaches for several days now. In the loop to look at the container’s streams, I have an else statement because the problem stream has CODEC_TYPE_UNKOWN and CODEC_ID_NONE, so i thought i would need to set everything manually. I’ve gotten all kinds of errors such as :15:22:36.964 [main] ERROR org.ffmpeg - [h264 @ 0000000000423870] no frame!
I get this error EVERY time i try to decode a frame. I realize this usually means that no key frames have been read and that the decoder needs the SPS/PPS information for h264 decoding, which i’ve tried to manually set (you can see in one of the commented sections), but with no success.
I’ve even tried creating a packet, filling it with the SPS/PPS info, setting the key packet to true, etc... also with no success. Even in the while loop (currently commented out) the program never seems to get a key frame from the one camera.I’ve also gotten this warning from Xuggler :
16:22:43.412 [main] WARN com.xuggle.xuggler - Could not find streams in input container (../../../../../../../csrc/com/xuggle/xuggler/Container.cpp:898)
... which i’ve also looked into but none of the solutions i’ve seen have worked.
I’ve tried running both of these camera’s streams through FFMPEG itself in the command line
and both are transcoded with no errors. I also thought that maybe Xuggler was built with too old of a version of FFMPEG to support rtsp streaming properly, but i went back and downloaded many of the older builds (0.10, 1.0.1 - 1.2, and current 2.2) and tried through the command line and all have succeeded.I’ve seen a lot of threads across the Xuggler google group that address problems with rtsp streams and the "no frame !" error, but none of them have had a solution (or at least one that worked for me).
Does anyone have any idea what might be causing this ? I have absolutely no ideas left ! (First time posting here as well, my apologies if I did anything incorrectly or left out information) Thanks.