Hello, everyone. I'm in a line
Tiktok before you have introduced the small program of playing this way.
The basic principle is to upload the video, click the applet through the link in the lower left corner of the video, and then the applet provider will return commission every thousand clicks
The operation process is to download the material, create the material, and then upload the material
Constantly modify the iterative content in order to achieve quantitative change and qualitative change
Tiktok has been shared before, and then the batch processing material is processed.
Of course, for the first time, the material is processed manually by clipping, and then processed automatically by code. Otherwise, you may not even know which direction the automatic processing is going
After the processing flow is clear, how to use Python to process video materials?
ffmpeg!
ffmpeg is a set of open source computer programs that can be used to record, convert digital audio and video, and convert them into streams
With this artifact, you can process all kinds of video material content, which is extremely comfortable
Here's a line to share how to use this artifact
1 installation
First of all, you need to download the latest version from the ffmpeg official website, otherwise there may be various strange problems
Because ffmpeg is a command-line tool, you need to add ffmpeg to the environment variable during installation. After installation, you can enter the following command in the terminal to check whether the installation is successful
ffmpeg -version
2subprocess call
Because ffmpeg is a command-line tool, it can be used through the call of subprocess
To view and use documents first, for example, the command to split video files is:
ffmpeg -i [filename] -ss [starttime] -t [length] -c copy [newfilename]
-
i is the file to be cropped
-
ss is the start time of clipping
-
t is the end time or length of clipping
-
c is the storage of cut documents
Well, write a call in Python:
import subprocess as sp def cut_video(filename, outfile, start, length=90): cmd = "ffmpeg -i %s -ss %d -t %d -c copy %s" % (filename, start, length, outfile) p = sp.Popen(cmd, shell=True) p.wait() return
-
A function is defined to pass in the information required by ffmpeg through parameters
-
Write the clipping command as a string template and replace the parameters in it
-
Execute the command with Popen of subprocess, where the parameter shell=True means to execute the command as a whole
-
p.wait() is very important because tailoring takes a while and is executed by another process, so you need to wait for the execution to complete before continuing to execute the following work, otherwise you may not find the file
3ffmpy3
ffmpy3 is the python wrapper of ffmpeg so that you can use this package to process video
You need to install with pip first
pip install ffmpy3
For example, to modify the file format, you can use ffmpy3 to output directly
import ffmpy3 ff = ffmpy3.FFmpeg( inputs={'input.mp4': None}, outputs={'output.avi': None} ) ff.run()
transcoding
If we want to use different codecs to re encode video and audio, we must specify additional output options while outputting the file:
ff = FFmpeg( inputs={'input.ts': None}, outputs={'output.mp4': '-c:a mp2 -mpeg2video'} ) ff.cmd ff.run()
Demultiplexing
You can also output the audio and video of the file into two mp4 format files
ff = FFmpeg( inputs={'input.ts': None}, outputs={ 'video.mp4': ['-map', '0:0', '-c:a', 'copy', '-f', 'mp4'], 'audio.mp4': ['-map', '0:1', '-c:a', 'copy', '-f', 'mp4'] } ) ff.cmd ff.run()
multiplexing
Multiplexing is to combine the input mp4 file and mp3 file into the same video file
Here, OrderedDict is used to preserve the order of inputs so that they match the order of flows in the output options:
from collections import OrderedDict inputs = OrderedDict([('video.mp4', None), ('audio_1.mp3', None), ('audio_2.mp3', None)]) outputs = {'output.ts', '-map 0 -c:v h264 -map 1 -c:a:0 ac3 -map 2 -c:a:1 mp2'} ff = FFmpeg(inputs=inputs, outputs=outputs) ff.cmd ff.run()
Split into pictures
To process the content of video material, you also need to split the video into pictures, process the pictures, and then merge them into video
Change the output file type to the end of. png
import ffmpy3 ff = ffmpy3.FFmpeg( inputs={'data.MP4': None}, outputs={'1/%d.png': None} ) ff.run()
4 finally
Processing video through ffmpeg mainly needs to understand its command usage, which can be found in 👇 In the official documents of
- http://ffmpeg.org/documentation.html
Then go to understand the templates of various popular videos and automatically generate the videos you want
That's all for today's sharing
I'm a professional. Technology never sleeps. I'll see you next time
Hello, I'm a member of my team. I graduated from Xiamen University with a master's degree. I have published two top papers in python. I share python's technical learning, interview skills, awareness of making money, etc. welcome to pay attention
@After playing python for 3 days, we have selected 9 aspects of computer technology materials, hoping to help you:
https://pan.baidu.com/s/1-OKeUGF1mWJM3O4mEV0DLg Extraction code: 0000