FFmpeg技术详解

FFmpeg技术详解在这里插入图片描述

本文概不介绍相关安装配置,详情请入官方或者其他大佬博客,此处做出推荐:

https://ffmpeg.org/ FFmpeg官网

https://ffmpeg.github.net.cn/developer.html FFmpeg中文文档

https://blog.csdn.net/m0_47449768/article/details/130102406 ffmpeg安装教程(windows版)

https://blog.csdn.net/Number_oneEngineer/article/details/108848206 ffmpeg安装教程(Linux版)

要学会一个人在深夜秉灯独行…

1.FFmpeg主要功能介绍

FFmpeg(Fast Forward MPEG)是一个开源的多媒体处理工具集,它包含了音频和视频处理库、编码器、解码器、转码器等多种工具。以下是FFmpeg的主要功能介绍:

  1. 音视频编解码(Codec):
    • FFmpeg支持各种音频和视频编解码器,包括常见的H.264、H.265、AAC、MP3等,使其能够处理各种媒体格式。
  2. 格式转换:
    • 可以将不同格式的音频和视频文件相互转换,例如将MP4转换为AVI、将WAV转换为MP3等。
  3. 流媒体处理:
    • FFmpeg支持从网络摄像头、文件、或其他来源捕获音视频流,也能将处理后的流推送到服务器或其他设备。
  4. 图像处理:
    • FFmpeg不仅仅可以处理音视频,还支持图像处理,如提取视频帧,合成图片和视频等。
  5. 剪辑和编辑:
    • 可以对音视频进行剪辑和编辑,包括裁剪、剪切、拼接等操作。
  6. 字幕处理:
    • 支持字幕的添加、移除和编辑,可以将字幕嵌入到视频中或者从视频中提取字幕。
  7. 音频处理:
    • 提供了丰富的音频处理功能,包括音频的剪辑、混音、音量调节等。
  8. 实时视频处理:
    • FFmpeg能够处理实时的音视频流,适用于直播、视频会议等场景。
  9. 滤镜和效果:
    • 支持各种滤镜和效果,如模糊、旋转、调整亮度、对比度等。

FFmpeg的强大功能使其成为许多多媒体应用和服务的核心组件,例如视频编辑软件、流媒体服务器、嵌入式设备等。由于其广泛的支持和社区贡献,FFmpeg已经成为处理多媒体数据的重要工具之一。

2.音视频编解码

音视频编解码是指将音频和视频信号进行压缩和解压缩的过程,以便更有效地存储和传输这些数据。编码是指将原始的音视频数据转换为压缩格式,而解码是指将压缩格式的音视频数据还原为原始格式。FFmpeg作为一个多媒体处理工具,提供了丰富的音视频编解码功能,支持多种编码器和解码器。以下是音视频编解码的一些关键概念和FFmpeg的相关用法:

1.音频编解码:

1.音频编码:
  • 编码过程将原始音频数据转换为压缩格式,以减小文件大小或者便于传输。FFmpeg支持多种音频编码器,如AAC、MP3、Opus等。
# 使用AAC编码器将WAV文件转为AAC格式
ffmpeg -i input.wav -c:a aac output.aac
2.音频解码:
  • 解码过程将压缩格式的音频数据还原为原始格式,以便后续处理或播放。FFmpeg支持多种音频解码器,如AAC、MP3、FLAC等。
# 使用AAC解码器将AAC文件解码为WAV格式
ffmpeg -i input.aac -c:a pcm_s16le output.wav

2.视频编解码:

1.视频编码:
  • 编码过程将原始视频数据转换为压缩格式,以减小文件大小或者便于传输。FFmpeg支持多种视频编码器,如H.264、H.265、VP9等。
# 使用H.264编码器将原始视频转为H.264格式
ffmpeg -i input.mp4 -c:v libx264 output.mp4
2.视频解码:
  • 解码过程将压缩格式的视频数据还原为原始格式,以便后续处理或播放。FFmpeg支持多种视频解码器,如H.264、H.265、VP9等。
# 使用H.264解码器将H.264视频解码为原始格式
ffmpeg -i input.h264 -c:v rawvideo output.yuv
3.编解码参数设置:
  • 用户可以通过指定不同的编码器和解码器以及相应的参数,来调整音视频的压缩质量、文件大小等。
# 使用x264编码器,设置视频比特率
ffmpeg -i input.mp4 -c:v libx264 -b:v 1000k output.mp4
4.多路流处理:
  • FFmpeg允许同时处理多路音频和视频流,适用于多通道、多摄像头等场景。
# 处理多路音频流
ffmpeg -i input1.wav -i input2.wav -filter_complex amix=inputs=2:duration=longest output.wav

总的来说,FFmpeg作为一套全面的多媒体处理工具,提供了丰富的音视频编解码功能,能够满足各种多媒体处理的需求,包括格式转换、流媒体处理、编辑等。用户可以根据自己的需求选择不同的编码器和解码器,并通过合适的参数进行配置。

3.格式转换

格式转换是指将一个多媒体文件从一种格式转换为另一种格式的过程。在多媒体处理中,格式转换通常涉及音频、视频、图像等各种媒体类型。FFmpeg广泛用于格式转换操作。以下是一些关键的格式转换方面的介绍和FFmpeg的应用:

1.音频格式转换:

  • 从 WAV 到 MP3:

    ffmpeg -i input.wav -c:a libmp3lame output.mp3
    
  • 从 MP3 到 WAV:

    ffmpeg -i input.mp3 -c:a pcm_s16le output.wav
    

2.视频格式转换:

  • 从 MP4 到 GIF:

    ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" -c:v gif output.gif
    
  • 从 AVI 到 MP4:

    ffmpeg -i input.avi -c:v libx264 -c:a aac output.mp4
    

3.图像格式转换:

  • 从 PNG 到 JPEG:

    ffmpeg -i input.png output.jpg
    
  • 从 JPEG 到 PNG:

    ffmpeg -i input.jpg output.png
    

4.多媒体合并和拼接:

  • 合并音频和视频到一个文件:

    ffmpeg -i input_video.mp4 -i input_audio.mp3 -c:v copy -c:a aac output_combined.mp4
    
  • 拼接多个视频文件:

    ffmpeg -i "concat:input1.mp4|input2.mp4|input3.mp4" -c copy output_combined.mp4
    

5.调整媒体参数:

  • 调整视频尺寸:

    ffmpeg -i input.mp4 -vf scale=640:480 output_resized.mp4
    
  • 调整音频采样率:

    ffmpeg -i input.wav -ar 44100 output_44kHz.wav
    

6.实时流媒体格式转换:

  • 将 RTSP 流转换为 RTMP 流:

    ffmpeg -rtsp_transport tcp -i rtsp://input_stream -c copy -f flv rtmp://output_stream
    

7.字幕格式转换:

  • 将 SRT 字幕转换为 VTT 字幕:

    ffmpeg -i input.srt output.vtt
    

4.流媒体处理技术详解

流媒体处理是一种通过网络实时传输音频和视频数据的技术,允许用户在数据传输的同时观看或听取内容,而不需要等待完整的文件下载。FFmpeg是一个强大的工具,广泛用于流媒体处理。以下是流媒体处理的主要方面以及FFmpeg在这些方面的应用:

1.流媒体捕获:

  • FFmpeg可以从各种来源捕获音频和视频流,包括摄像头、麦克风、文件、URL等。通过使用FFmpeg的输入模块,用户可以轻松地实现从这些源中捕获多媒体数据。
# 从摄像头捕获视频
ffmpeg -f v4l2 -i /dev/video0 output.mp4# 从麦克风捕获音频
ffmpeg -f alsa -i hw:0 output.wav# 从URL捕获网络流
ffmpeg -i http://example.com/stream.m3u8 output.mp4

2.流媒体转码:

  • 在流媒体处理中,有时需要将音视频数据转码为特定格式或编码,以适应不同的设备或网络条件。FFmpeg提供了广泛的编码器和解码器支持,使得转码变得简单。
# 将输入流转码为H.264视频和AAC音频
ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4

3.流媒体推送:

  • FFmpeg可以将处理后的音视频流推送到流媒体服务器,以便在网络上进行分发。这对于实时直播和视频会议非常有用。
# 推送到RTMP服务器
ffmpeg -i input.mp4 -c:v libx264 -c:a aac -f flv rtmp://example.com/live/stream

4.实时流媒体处理:

  • FFmpeg支持实时处理音视频流,适用于需要低延迟的应用,如实时直播和视频通话。
# 实时捕获摄像头并推送到RTMP服务器
ffmpeg -f v4l2 -i /dev/video0 -c:v libx264 -c:a aac -f flv rtmp://example.com/live/stream

5.流媒体过滤器:

  • FFmpeg提供了丰富的过滤器,可以对音视频流进行各种处理,如添加水印、调整亮度、旋转、裁剪等。
# 在视频上添加水印
ffmpeg -i input.mp4 -i watermark.png -filter_complex overlay=10:10 output.mp4

6.自适应比特率:

  • FFmpeg可以实现自适应比特率(Adaptive Bitrate Streaming,ABR),以根据用户的网络条件自动调整流的质量。
# 使用多个输出流实现自适应比特率
ffmpeg -i input.mp4 -c:v libx264 -b:v 2000k -c:a aac -b:a 128k -f hls -hls_time 4 -hls_playlist_type vod output.m3u8

上述示例展示了一些FFmpeg在流媒体处理中的常见用法。这些功能使FFmpeg成为流媒体处理的强大工具,适用于多种场景,包括在线直播、视频会议、实时通信等。

5.图像处理

图像处理是对图像进行各种操作和变换的过程,旨在改善图像的质量、提取信息、增强特定特征或实现其他特定目标。FFmpeg不是专门设计用于图像处理的工具,但它仍然提供了一些图像处理的功能,尤其是在处理视频时。以下是一些常见的图像处理任务和FFmpeg的应用:

1. 提取视频帧:

  • 提取所有视频帧:

    ffmpeg -i input_video.mp4 -vf "select=eq(n\,0)" -vframes 1 output_frame.png
    
  • 提取特定时间的视频帧:

    ffmpeg -i input_video.mp4 -ss 00:01:30 -vframes 1 output_frame.png
    

2. 水印添加:

  • 在视频中添加静态水印:

    ffmpeg -i input_video.mp4 -i watermark.png -filter_complex "overlay=10:10" output_watermarked.mp4
    
  • 在视频中添加动态水印(GIF):

    ffmpeg -i input_video.mp4 -ignore_loop 0 -i watermark.gif -filter_complex "overlay=10:10" output_watermarked.mp4
    

3. 图像旋转:

  • 将图像顺时针旋转90度:

    ffmpeg -i input_image.jpg -vf "transpose=1" output_rotated.jpg
    

4. 图像裁剪:

  • 裁剪图像:

    ffmpeg -i input_image.jpg -vf "crop=w:h:x:y" output_cropped.jpg
    

5. 图像大小调整:

  • 调整图像尺寸:

    ffmpeg -i input_image.jpg -vf "scale=width:height" output_resized.jpg
    

6. 添加滤镜和特效:

  • 在视频上应用黑白滤镜:

    ffmpeg -i input_video.mp4 -vf "hue=s=0" -c:a copy output_black_and_white.mp4
    

7. 实时视频处理:

  • 实时处理视频并显示在窗口中:

    ffplay -vf "scale=640:480" input_video.mp4
    

8. 图像序列处理:

  • 将图像序列合成视频:

    ffmpeg -framerate 30 -i frame_%04d.png -c:v libx264 -pix_fmt yuv420p output_video.mp4
    

请注意,FFmpeg的主要用途是处理音视频,因此在某些图像处理任务上,可能有更适合的专用工具。然而,FFmpeg在处理视频时提供了一些有用的图像处理功能,特别是当图像与视频密切相关时。

6.剪辑和编辑

剪辑和编辑是指对音频和视频进行截取、拼接、修剪、合并等操作,以达到用户期望的效果。FFmpeg也可以用于进行各种剪辑和编辑任务。以下是一些常见的剪辑和编辑任务以及FFmpeg的应用:

1. 视频剪辑:

  • 截取视频片段:

    ffmpeg -i input_video.mp4 -ss 00:00:30 -t 00:00:10 -c:v copy -c:a copy output_clip.mp4
    
  • 将多个视频合并:

    ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex concat=n=2:v=1:a=1 -c:v libx264 -c:a aac output_combined.mp4
    
  • 分离音频和视频:

    ffmpeg -i input_video.mp4 -c:v copy -an output_video.mp4  # 提取视频
    ffmpeg -i input_video.mp4 -c:a copy -vn output_audio.mp3  # 提取音频
    

2. 音频剪辑:

  • 截取音频片段:

    ffmpeg -i input_audio.mp3 -ss 00:01:00 -t 00:00:30 -c:a copy output_clip.mp3
    
  • 将多个音频合并:

    ffmpeg -i input1.mp3 -i input2.mp3 -filter_complex concat=n=2:v=0:a=1 -c:a aac output_combined.mp3
    

3. 剪辑并合并音视频:

  • 截取并合并音视频:

    ffmpeg -i input_video.mp4 -i input_audio.mp3 -ss 00:00:30 -t 00:01:00 -c:v copy -c:a copy output_combined.mp4
    

4. 添加转场效果:

  • 使用交叉淡入淡出效果合并视频:

    ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex "[0:v]fade=t=out:st=5:d=1[v0];[1:v]fade=t=in:st=0:d=1[v1];[v0][v1]concat=n=2:v=1:a=0" -c:v libx264 -c:a aac output_transition.mp4
    

5. 在视频上添加字幕:

  • 在视频中添加SRT字幕:

    ffmpeg -i input_video.mp4 -vf "subtitles=subtitles.srt" output_video_with_subtitles.mp4
    

6. 视频速度调整:

  • 将视频速度减半:

    ffmpeg -i input_video.mp4 -vf "setpts=2.0*PTS" -an output_slow.mp4
    

7. 调整音频音调:

  • 将音频提高一个音调:

    ffmpeg -i input_audio.mp3 -af "asetrate=2*44100,atempo=0.5" output_high_pitch.mp3
    

FFmpeg的命令行选项非常强大,可以进行高级的多媒体处理操作。用户可以根据自己的需求选择合适的命令,对音频和视频进行定制化的剪辑和编辑。

7.字幕处理

字幕处理是指在视频中添加、编辑或移除字幕(Subtitles)。字幕可以包含对话、场景描述、翻译等信息,提供更好的观看体验。FFmpeg支持对字幕进行各种操作,包括添加、合并、转换格式等。以下是一些常见的字幕处理任务以及FFmpeg的应用:

1. 添加外部字幕:

  • 在视频上添加SRT字幕:

    ffmpeg -i input_video.mp4 -vf "subtitles=subtitles.srt" output_video_with_subtitles.mp4
    
  • 在视频上添加ASS字幕:

    ffmpeg -i input_video.mp4 -vf "ass=subtitles.ass" output_video_with_ass_subtitles.mp4
    

2. 合并多个字幕流:

  • 合并SRT和ASS字幕:

    ffmpeg -i input_video.mp4 -vf "subtitles=subtitles.srt:force_style='FontName=Arial,BorderStyle=3'" -vf "ass=subtitles.ass" output_video_with_merged_subtitles.mp4
    

3. 转换字幕格式:

  • 从SRT转换为ASS:

    ffmpeg -i input_subtitles.srt output_subtitles.ass
    
  • 从ASS转换为SRT:

    ffmpeg -i input_subtitles.ass output_subtitles.srt
    

4. 提取字幕流:

  • 从视频中提取SRT字幕:

    ffmpeg -i input_video.mp4 -map 0:s:0 output_subtitles.srt
    

5. 修改字幕样式:

  • 在视频上添加自定义样式的字幕:

    ffmpeg -i input_video.mp4 -vf "subtitles=subtitles.srt:force_style='FontName=Arial,FontSize=24,BorderStyle=3'" output_video_with_styled_subtitles.mp4
    

6. 设置字幕显示时间:

  • 延迟字幕显示:

    ffmpeg -i input_video.mp4 -vf "subtitles=subtitles.srt:force_style='Delay=2000'" output_video_with_delayed_subtitles.mp4
    

7. 删除字幕流:

  • 从视频中删除所有字幕流:

    ffmpeg -i input_video.mp4 -c copy -map 0 -map -0:s output_video_without_subtitles.mp4
    

8.音频处理

音频处理是对音频数据进行各种操作和变换的过程,旨在改善音频质量、提取特定特征、进行混音等,FFmpeg也提供了许多音频处理的功能。以下是一些常见的音频处理任务以及FFmpeg的应用:

1. 音频格式转换:

  • 将WAV格式转为MP3:

    ffmpeg -i input.wav -c:a libmp3lame output.mp3
    
  • 将MP3格式转为WAV:

    ffmpeg -i input.mp3 -c:a pcm_s16le output.wav
    

2. 音频剪辑:

  • 截取音频片段:

    ffmpeg -i input_audio.mp3 -ss 00:01:00 -t 00:00:30 -c:a copy output_clip.mp3
    

3. 音频合并:

  • 将多个音频文件合并:

    ffmpeg -i input1.mp3 -i input2.mp3 -filter_complex concat=n=2:v=0:a=1 -c:a aac output_combined.mp3
    

4. 音频格式信息查看:

  • 查看音频文件信息:

    ffmpeg -i input_audio.mp3
    

5. 音频混音:

  • 将背景音乐混入语音:

    ffmpeg -i input_speech.wav -i input_background.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 output_mix.mp3
    

6. 音频变速和变调:

  • 将音频速度提高一倍:

    ffmpeg -i input_audio.mp3 -filter:a "atempo=2.0" output_high_speed.mp3
    
  • 将音频音调提高一个半音:

    ffmpeg -i input_audio.mp3 -filter:a "asetrate=44100*1.05946" output_high_pitch.mp3
    

7. 音频去噪:

  • 使用ANR滤波器进行降噪:

    ffmpeg -i input_noisy_audio.wav -af "anlmdn=filter_type=1:denoise_strength=0.01" output_clean_audio.wav
    

8. 音频格式转换和视频剪辑:

  • 从视频中提取音频并转换格式:

    ffmpeg -i input_video.mp4 -vn -c:a aac output_audio.aac
    

FFmpeg支持多种音频编码和滤镜,用户可以根据需要进行不同的音频处理操作。命令行选项提供了丰富的功能,可以实现高级的音频处理任务。

9.实时视频处理

实时视频处理是指在视频流传输过程中对视频进行即时处理和操作。FFmpeg可以用于实时视频处理,包括从摄像头捕获、实时编码和解码、添加滤镜效果等。以下是一些常见的实时视频处理任务以及FFmpeg的应用:

1. 实时视频捕获:

  • 从摄像头捕获视频:

    ffmpeg -f v4l2 -i /dev/video0 -vf "scale=640:480" -c:v libx264 -f mpegts udp://127.0.0.1:1234
    

    上述命令从名为 /dev/video0 的摄像头捕获视频,调整分辨率为 640x480,使用 H.264 编码,并通过 UDP 协议实时传输到地址 udp://127.0.0.1:1234

2. 实时视频编码和解码:

  • 实时从摄像头捕获并在本地显示:

    ffmpeg -f v4l2 -i /dev/video0 -vf "scale=640:480" -c:v libx264 -an -f mpegts udp://127.0.0.1:1234
    

    上述命令从摄像头捕获视频,使用 H.264 编码,并通过 UDP 协议实时传输到地址 udp://127.0.0.1:1234,但在此例中不包含音频,因为 -an 表示禁用音频流。

  • 实时从网络流接收并在窗口中显示:

    ffplay -i udp://127.0.0.1:1234
    

    上述命令使用 ffplay 实时播放通过 UDP 协议接收到的视频流。

3. 实时视频滤镜和效果:

  • 在实时视频中添加水印并显示:

    ffmpeg -f v4l2 -i /dev/video0 -vf "movie=watermark.png [watermark]; [in][watermark] overlay=W-w-10:H-h-10 [out]" -c:v libx264 -an -f mpegts udp://127.0.0.1:1234
    

    上述命令从摄像头捕获视频,通过添加水印,并使用 H.264 编码,通过 UDP 协议实时传输到地址 udp://127.0.0.1:1234

4. 实时音视频处理:

  • 从摄像头捕获视频,添加水印并混合音频,实时播放:

    ffmpeg -f v4l2 -i /dev/video0 -i audio_input.wav -vf "movie=watermark.png [watermark]; [in][watermark] overlay=W-w-10:H-h-10 [out]" -c:v libx264 -c:a aac -f mpegts udp://127.0.0.1:1234 | ffplay -
    

    上述命令从摄像头捕获视频,添加水印并混合音频,通过 H.264 编码和 AAC 编码,实时传输到地址 udp://127.0.0.1:1234 并通过 ffplay 实时播放。

10.滤镜和效果

FFmpeg提供了丰富的滤镜和效果,可用于在视频处理过程中进行各种操作,例如调整亮度、对比度、添加水印、旋转等。这些滤镜和效果可以通过 -vf(视频滤镜)和 -af(音频滤镜)选项来指定。以下是一些常见的滤镜和效果以及它们的应用:

视频滤镜(-vf):

  1. 亮度和对比度调整:

    • 增加亮度和对比度:

      ffmpeg -i input.mp4 -vf "eq=brightness=0.2:contrast=1.5" output.mp4
      
  2. 色调、饱和度和亮度调整:

    • 调整色调、饱和度和亮度:

      ffmpeg -i input.mp4 -vf "hue=s=0.5:saturation=1.5:lightness=1.2" output.mp4
      
  3. 水印添加:

    • 在视频中添加静态水印:

      ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4
      
    • 在视频中添加动态水印(GIF):

      ffmpeg -i input.mp4 -ignore_loop 0 -i watermark.gif -filter_complex "overlay=10:10" output.mp4
      
  4. 旋转视频:

    • 顺时针旋转90度:

      ffmpeg -i input.mp4 -vf "transpose=1" output.mp4
      
  5. 视频剪裁:

    • 剪裁视频:

      ffmpeg -i input.mp4 -vf "crop=w:h:x:y" output.mp4
      
  6. 添加字幕:

    • 在视频上添加SRT字幕:

      ffmpeg -i input.mp4 -vf "subtitles=subtitles.srt" output.mp4
      

音频滤镜(-af):

  1. 音频音调调整:

    • 提高音频音调一个半音:

      ffmpeg -i input.mp3 -af "asetrate=44100*1.05946" output_high_pitch.mp3
      
  2. 音频混音:

    • 将两个音频混合:

      ffmpeg -i input1.mp3 -i input2.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 output_mix.mp3
      
  3. 音频降噪:

    • 使用ANR滤波器进行降噪:

      ffmpeg -i input_noisy_audio.wav -af "anlmdn=filter_type=1:denoise_strength=0.01" output_clean_audio.wav
      

这些示例涵盖了一些常见的视频和音频滤镜和效果,但并不限于这些。FFmpeg支持许多滤镜和效果,用户可以根据需要选择合适的滤镜和参数。具体的滤镜和效果选项的详细信息可以查阅FFmpeg的文档。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/622466.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

steam搬砖项目赚钱吗?低门槛副业月入5k真的假的?

steam搬砖项目一开始默默无闻,现在越来越受欢迎,因为大家都看到了该项目的长期稳定性。 steam搬砖项目主要是搬csgo游戏装备和道具,从steam购买,在网易Buff上出售,赚取差价。只需少量投资,即可获得长期稳定…

软件测试|Python requests库的安装和使用指南

简介 requests库是Python中一款流行的HTTP请求库,用于简化HTTP请求的发送和处理,也是我们在使用Python做接口自动化测试时,最常用的第三方库。本文将介绍如何安装和使用requests库,以及一些常见的用例示例。 安装requests库 首…

Python Matplotlib 动画教程:提高可视化吸引力的强大工具【第24篇—python:Matplotlib】

文章目录 🍖 方法一:使用pause()函数🚀 方法二:使用FuncAnimation()函数🥋 线性图动画:🎻 Python中的条形图追赶动画🌌 Python中的散点图动画:🛹 条形图追赶的…

Java Web项目中 JSP 访问问题

一、名词说明: 1、JSP 文件一般有两个存放位置 (1)webapp 的 WEB-INF目录中 (2)webapp 目录中 其中 存放在 WEB-INF 被成为 安全目录 安全目录:就是客户端无法访问,只有服务端可以访问的…

day01

文章目录 创建Vue实例插值表达式响应式数据常见标签v-htmlv-show v-ifv-if v-else-if v-elsev-onv-bindv-forv-model 综合案例 创建Vue实例 <!--创建Vue实例&#xff0c;初始化渲染1. 准备容器2. 引包&#xff08;官网&#xff09; — 开发版本/生产版本3. 创建Vue实例 ne…

Maven《一》-- 一文带你快速了解Maven

目录 &#x1f436;1.1 为什么使用Maven 1. Mavan是一个依赖管理工具 ①jar包的规模 ②jar包的来源问题 ③jar包的导入问题 ④jar包之间的依赖 2. Mavan是一个构建工具 ①你没有注意过的构建 ②脱离IDE环境仍需构建 3. 结论 &#x1f436;1.2 什么是Maven &#x…

感知机(二分类模型)

目录 1.感知机计算预测值&#xff1a;2.感知机训练&#xff1a;3.损失函数&#xff1a;4.多层感知机&#xff1a;5.单隐藏层的多层感知机代码实现&#xff1a; 1.感知机计算预测值&#xff1a; 训练结果只有1、-1&#xff0c;故正负相同训练正确&#xff0c;正负相反即训练错误…

【DB】MySQL版本5.7和8的区别,以及升级的注意事项

文章目录 1、MySQL版本5.7和8的区别2、MySQL 5.7升级8 1、MySQL版本5.7和8的区别 在数据库管理系统中&#xff0c;MySQL是一个广泛使用、开源的解决方案。它提供了强大的功能&#xff0c;同时具有优秀的性能和可扩展性。 MySQL 5的发布于2005年&#xff0c;在MySQL数据库的发…

实体企业品牌推广之困与解:迅腾文化如何助力企业“显”化品牌价值

在数字化浪潮的冲击下&#xff0c;许多实体企业面临着品牌推广的困境。由于缺乏系统的经验和网络资源的积累&#xff0c;这些企业在品牌推广过程中有很大提升空间。如何以低成本的方式有效推广品牌&#xff0c;成为了实体企业亟待解决的问题。迅腾文化从策略到设计&#xff0c;…

Linux第26步_在虚拟机中安装stm32wrapper4dbg工具

在Ubuntu下编译TF-A 或者 Uboot时&#xff0c;我们需要用到ST公司提供的stm32wrapper4dbg工具。stm32wrapper4dbg工具的源码下载地址为: GitHub - STMicroelectronics/stm32wrapper4dbg 记得我们在前面已经创建过的目录如下&#xff1a; 1&#xff09;、在根目录下&#xf…

Windows项目部署流程

一、部署前需要的工作 ①配置环境变量&#xff1a;将所需的软件和工具的安装路径添加到系统的环境变量中&#xff0c;以便在命令行中可以直接使用。 ②部署项目文件&#xff1a;将项目的文件和代码复制到服务器上的指定目录中&#xff0c;例如Web服务器的网站根目录。 ③配置…

70.网游逆向分析与插件开发-角色数据的获取-自动化助手UI显示角色数据

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;利用技能点属性分析角色数据基址-CSDN博客 码云地址&#xff08;ui显示角色数据 分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&#xff1a;367aa71f60b…

WIndows系统重装、备份与恢复实操问题笔记

一 windows重装 1.1 基本步骤 下载大白菜根据官网使用教程制作启动u盘从MSDN或者微软官网下载Windows镜像根据查询的快捷键进入BIOS系统&#xff0c;设置U盘为第一启动 重装 1.2 Windows 11 激活 微软其实在2023年9月20日的公告中宣布停掉免费升级&#xff0c;数字激活工具…

Python之循环判断语句

一、if判断语句 1. if...else if 条件: 满足条件时要做的事情1 满足条件时要做的事情2 ...... else: 不满足条件时要做的事情1 不满足条件时要做的事情2 ...... # -*- coding:utf-8 -*- age input("请输入年龄:") age int(age) if age > 18:print("已经成…

一文读懂ERP、OMS、WMS、TMS(2/2)

目录 二、ERP、OMS、WMS、TMS的区别 2.1 ERP (Enterprise Resource Planning) 企业资源计划 2.2 OMS (Order Management System) 订单管理系统 2.3 WMS (Warehouse Management System) 仓库管理系统 2.4 TMS (Transportation Management System) 运输管理系统 二、ERP、OM…

街机模拟游戏逆向工程(HACKROM)教程:[1]数据的存储与读取

简介 在计算机中&#xff0c;数据存储的介质一直在变化&#xff0c;从最早的穿孔纸带&#xff0c;到现在的固态硬盘。但存储的原理是一直没有变化的&#xff0c;在计算机中&#xff0c;我们所存储的数据&#xff0c;一直都是以二进制的形式被存储存在不同的介质中。 计算机用…

(十二)EEPROM的补充

文章目录 EEPROM补充篇读EEPROM补充内容写EEPROM补充内容单字节写入多字节拆成单字节写入现象 EEPROM补充篇 读EEPROM补充内容 对于上一篇博文在读EEPROM的时候&#xff0c;提到的DUMMY WRITE&#xff1a; 这里怎么理解呢&#xff1a; 大家看&#xff0c;写EEPROM的逻辑除了…

webstorm最新版 激活 成功了

使用webstorm开发工具 很完美&#xff0c;第一次用webstorm IDE 开发工具就完美的激活了&#xff0c;你也不妨试试 链接地址&#xff1a;http://mano100.cn/thread-1942-1-1.html 激活后如下

Scratch优秀作品飞翔小鸟

程序说明&#xff1a;在无尽的划痕堆中飞驰而过随着你越来越多地飞进迷宫般的街区&#xff0c;平台变得越来越难。 演示视频 scratch飞翔小鸟 其实这就是一个类似像素小鸟的程序&#xff0c;只不过水管角色就地取材&#xff0c;使用scratch里面的积木图片拼成了水管&#xff0…

网站漏洞扫描 awvs 23.11下载 Acunetix Premium build 23.11 for Linux 完美版

Acunetix Premium build 23.11 for Linux 完美版 更新日志&#xff1a; 网站漏洞扫描 awvs 23.11下载 新功能 Java IAST 传感器已更新为支持 Java 17 并删除了对 AspectJWeaver 的要求对管理适用于 Docker 和 Linux 的 Acunetix On-Premises 服务的机制进行了更改&#xff0…