Outils pour utilisateurs

Outils du site


francois:ffmpeg_usage

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

francois:ffmpeg_usage [2020/01/31 17:54] – créée francoisfrancois:ffmpeg_usage [2020/04/06 13:56] (Version actuelle) – francois
Ligne 1: Ligne 1:
-h1. FFMPEG usage+====== FFMPEG usage ======
  
-{{>toc}} +====== useful links ======
- +
-h2. useful links+
  
 https://www.ffmpeg.org/ffmpeg-devices.html#decklink https://www.ffmpeg.org/ffmpeg-devices.html#decklink
Ligne 11: Ligne 9:
 https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
  
-h2. Configuration d'ubuntu+====== Configuration d'ubuntu ======
  
-<pre> +  sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev \
-sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev \+
   libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \   libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \
   libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev x264 libx264-dev   libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev x264 libx264-dev
-</pre> 
- 
-<pre> 
-sudo apt-get install yasm 
-</pre> 
  
-h2. Compilation+  sudo apt-get install yasm
  
-<pre> +====== Compilation ======
-PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \ +
-  --prefix="$HOME/ffmpeg_build" \ +
-  --pkg-config-flags="--static" \ +
-  --extra-cflags="-I$HOME/ffmpeg_build/include" \ +
-  --extra-ldflags="-L$HOME/ffmpeg_build/lib" \ +
-  --bindir="$HOME/bin" \ +
-  --enable-gpl \ +
-  --enable-libass \ +
-  --enable-libfdk-aac \ +
-  --enable-libfreetype \ +
-  --enable-libmp3lame \ +
-  --enable-libopus \ +
-  --enable-libtheora \ +
-  --enable-libvorbis \ +
-  --enable-libvpx \ +
-  --enable-libx264 \ +
-  --enable-nonfree \ +
-  --enable-decklink \ +
-  --extra-cflags=-I/home/damien/Blackmagic_DeckLink_SDK_10.9.5/Linux/include+
  
-make -j 8 +  PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \ 
-sudo make install+    --prefix="$HOME/ffmpeg_build" \ 
 +    --pkg-config-flags="--static" \ 
 +    --extra-cflags="-I$HOME/ffmpeg_build/include" \ 
 +    --extra-ldflags="-L$HOME/ffmpeg_build/lib" \ 
 +    --bindir="$HOME/bin" \ 
 +    --enable-gpl \ 
 +    --enable-libass \ 
 +    --enable-libfdk-aac \ 
 +    --enable-libfreetype \ 
 +    --enable-libmp3lame \ 
 +    --enable-libopus \ 
 +    --enable-libtheora \ 
 +    --enable-libvorbis \ 
 +    --enable-libvpx \ 
 +    --enable-libx264 \ 
 +    --enable-nonfree \ 
 +    --enable-decklink \ 
 +    --extra-cflags=-I/home/damien/Blackmagic_DeckLink_SDK_10.9.5/Linux/include
  
-</pre>+  make -j 8 
 +  sudo make install
  
-h2. Usage+====== Usage ======
  
-h3. List output devices+===== List output devices =====
  
     ffmpeg -i test.avi -f decklink -list_devices 1 dummy     ffmpeg -i test.avi -f decklink -list_devices 1 dummy
  
-h3. List supported formats:+===== List supported formats =====
  
     ffmpeg -i test.avi -f decklink -list_formats 1 'DeckLink Mini Monitor'     ffmpeg -i test.avi -f decklink -list_formats 1 'DeckLink Mini Monitor'
  
-h3. Play video clip:+===== Play video clip =====
  
     ffmpeg -i test.avi -f decklink -pix_fmt uyvy422 'DeckLink Mini Monitor'     ffmpeg -i test.avi -f decklink -pix_fmt uyvy422 'DeckLink Mini Monitor'
  
-h3. Play video clip with non-standard framerate or video size:+===== Play video clip with non-standard framerate or video size =====
  
     ffmpeg -i test.avi -f decklink -pix_fmt uyvy422 -s 720x486 -r 24000/1001 'DeckLink Mini Monitor'     ffmpeg -i test.avi -f decklink -pix_fmt uyvy422 -s 720x486 -r 24000/1001 'DeckLink Mini Monitor'
  
-h3. List output devices+===== List output devices =====
  
   ffmpeg -f decklink -list_devices 1 dummy -i big_buck_bunny_1080p_stereo.avi   ffmpeg -f decklink -list_devices 1 dummy -i big_buck_bunny_1080p_stereo.avi
  
-h3. List supported formats+===== List supported formats =====
  
   ffmpeg -f decklink -list_formats 1 'DeckLink Quad (1)' -i big_buck_bunny_1080p_stereo.avi   ffmpeg -f decklink -list_formats 1 'DeckLink Quad (1)' -i big_buck_bunny_1080p_stereo.avi
  
-h3. Play video clip+===== Play video clip =====
  
   ffmpeg -f decklink  -pix_fmt uyvy422 'DeckLink Quad (1)' -i big_buck_bunny_1080p_stereo.avi   ffmpeg -f decklink  -pix_fmt uyvy422 'DeckLink Quad (1)' -i big_buck_bunny_1080p_stereo.avi
Ligne 83: Ligne 74:
   mplayer capture.raw -demuxer rawvideo -rawvideo fps=29.97:w=1920:h=1080:uyvy   mplayer capture.raw -demuxer rawvideo -rawvideo fps=29.97:w=1920:h=1080:uyvy
  
-h3. List input devices:+===== List input devices =====
  
   ffmpeg -f decklink -list_devices 1 -i dummy   ffmpeg -f decklink -list_devices 1 -i dummy
  
-h3. List supported formats:+===== List supported formats =====
  
   ffmpeg -f decklink -list_formats 1 -i 'Intensity Pro'   ffmpeg -f decklink -list_formats 1 -i 'Intensity Pro'
  
-h3. Capture video clip at 1080i50:+===== Capture video clip at 1080i50 =====
  
   ffmpeg -format_code Hi50 -f decklink -i 'Intensity Pro' -acodec copy -vcodec copy output.avi   ffmpeg -format_code Hi50 -f decklink -i 'Intensity Pro' -acodec copy -vcodec copy output.avi
  
-h3. Capture video clip at 1080i50 10 bit:+===== Capture video clip at 1080i50 10 bit =====
  
   ffmpeg -bm_v210 1 -format_code Hi50 -f decklink -i 'UltraStudio Mini Recorder' -acodec copy -vcodec copy output.avi   ffmpeg -bm_v210 1 -format_code Hi50 -f decklink -i 'UltraStudio Mini Recorder' -acodec copy -vcodec copy output.avi
  
-h3. Capture video clip at 1080i50 with 16 audio channels:+===== Capture video clip at 1080i50 with 16 audio channels =====
  
   ffmpeg -channels 16 -format_code Hi50 -f decklink -i 'UltraStudio Mini Recorder' -acodec copy -vcodec copy output.avi   ffmpeg -channels 16 -format_code Hi50 -f decklink -i 'UltraStudio Mini Recorder' -acodec copy -vcodec copy output.avi
- 
  
   ffmpeg -format_code Hp29 -f decklink -i 'DeckLink Quad (8)' -vcodec copy output.avi   ffmpeg -format_code Hp29 -f decklink -i 'DeckLink Quad (8)' -vcodec copy output.avi
   ffmpeg -format_code Hp29 -f decklink -i 'DeckLink Quad (8)' -vcodec h264 output.avi   ffmpeg -format_code Hp29 -f decklink -i 'DeckLink Quad (8)' -vcodec h264 output.avi
  
-h3. Compression h.264+===== Compression h.264 =====
  
   ffmpeg -i video_720p-16Mbps.mp4 -c:v libx264 -preset fast -crf 10 -profile:v high -level 4.0 video_opengl_scaled_720p_compressé_2.mp4   ffmpeg -i video_720p-16Mbps.mp4 -c:v libx264 -preset fast -crf 10 -profile:v high -level 4.0 video_opengl_scaled_720p_compressé_2.mp4
Ligne 114: Ligne 104:
 The options are documented in the ffmpeg site. The options are documented in the ffmpeg site.
  
-h3. Crop and pad filters+===== Crop and pad filters =====
  
   ffmpeg -i video_720p-16Mbps.mp4 -vf "crop=1024:720 [cropout]; [cropout] pad=1024:768:0:24" -c:v libx264 -preset fast -crf 10 -profile:v high -level 4.0 video_opengl_scaled_720p_compressé_2.mp4   ffmpeg -i video_720p-16Mbps.mp4 -vf "crop=1024:720 [cropout]; [cropout] pad=1024:768:0:24" -c:v libx264 -preset fast -crf 10 -profile:v high -level 4.0 video_opengl_scaled_720p_compressé_2.mp4
  
-h3. display terratec G1 (USB composite capture). Display the captured input in a window+===== display terratec G1 (USB composite capture). Display the captured input in a window =====
  
   ffmpeg -input_format rgb565 -i /dev/video0 -f opengl "window title"   ffmpeg -input_format rgb565 -i /dev/video0 -f opengl "window title"
  
-h3. Display blackmagic input on a opengl window+===== Display blackmagic input on a opengl window =====
  
   ffmpeg -format_code hp50 -f decklink -i 'DeckLink Quad (1)' -vcodec rawvideo -pix_fmt rgba -f sdl "window"   ffmpeg -format_code hp50 -f decklink -i 'DeckLink Quad (1)' -vcodec rawvideo -pix_fmt rgba -f sdl "window"
  
-h3. Test frames generation+===== Test frames generation =====
  
   ffmpeg -f lavfi -i testsrc2=duration=100:size=1280x720:rate=60 -c:v libx264 -preset fast -crf 0 -level 4.0 test2_720p60.mp4   ffmpeg -f lavfi -i testsrc2=duration=100:size=1280x720:rate=60 -c:v libx264 -preset fast -crf 0 -level 4.0 test2_720p60.mp4
  
 with white box in the first second with white box in the first second
- 
  
   ffmpeg -f decklink  -pix_fmt uyvy422 'DeckLink Quad (1)' -i test.mp4   ffmpeg -f decklink  -pix_fmt uyvy422 'DeckLink Quad (1)' -i test.mp4
Ligne 158: Ligne 147:
   ffmpeg -f lavfi -i testsrc2=duration=10:size=1920x1080:rate=30 -vf "frei0r_src=size=1920x1080:framerate=10:filter_name=partik0l:filter_params=1234 [overlay]; [in][overlay] overlay" -c:v libx264 -preset fast -crf 0 -level 4.0 test5_1080p30.mp4   ffmpeg -f lavfi -i testsrc2=duration=10:size=1920x1080:rate=30 -vf "frei0r_src=size=1920x1080:framerate=10:filter_name=partik0l:filter_params=1234 [overlay]; [in][overlay] overlay" -c:v libx264 -preset fast -crf 0 -level 4.0 test5_1080p30.mp4
  
-h3. Other examples+===== Other examples =====
  
-<pre> +  stream = ffmpeg.input('DeckLink Quad (8)') 
-stream = ffmpeg.input('DeckLink Quad (8)') +  stream = ffmpeg.output(stream, 'dummy.mp4') 
-stream = ffmpeg.output(stream, 'dummy.mp4') +  ffmpeg.run(stream, format='decklink', format_code='Hp29', vcodec='h264') 
-ffmpeg.run(stream, format='decklink', format_code='Hp29', vcodec='h264') +  ffmpeg.run(stream, format='decklink', format_code='Hp29', vcodec='h264')
-ffmpeg.run(stream, format='decklink', format_code='Hp29', vcodec='h264') +
-</pre>+
  
   ffmpeg -i test.mp4 -filter_complex "loop=2:2500" -vcodec h264 output.avi   ffmpeg -i test.mp4 -filter_complex "loop=2:2500" -vcodec h264 output.avi
Ligne 172: Ligne 159:
 ---- ----
  
-use -ss 1 to avoid the recording of the Colored Mire at the beginning 
-<pre> 
-ffmpeg -format_code 24ps  -ss 1 -f decklink -i 'DeckLink Quad (8)' -vcodec h264 -y output.avi 
-ffplay output.avi 
  
 +use -ss 1 to avoid the recording of the Colored Mire at the beginning
  
 +  ffmpeg -format_code 24ps  -ss 1 -f decklink -i 'DeckLink Quad (8)' -vcodec h264 -y output.avi
 +  ffplay output.avi
  
-[decklink @ 0x3f08560] Supported formats for 'DeckLink Quad (8)':+  [decklink @ 0x3f08560] Supported formats for 'DeckLink Quad (8)':
         format_code     description         format_code     description
         ntsc            720x486 at 30000/1001 fps (interlaced, lower field first)         ntsc            720x486 at 30000/1001 fps (interlaced, lower field first)
Ligne 197: Ligne 183:
         hp59            1280x720 at 60000/1001 fps         hp59            1280x720 at 60000/1001 fps
         hp60            1280x720 at 60000/1000 fps         hp60            1280x720 at 60000/1000 fps
-</pre> 
- 
-<pre> 
-stream = ffmpeg.input('DeckLink Quad (8)') 
-stream = ffmpeg.output(stream, 'dummy.mp4') 
-ffmpeg.run(stream, format='decklink', format_code='Hp29', vcodec='h264') 
-ffmpeg.run(stream, format='decklink', format_code='Hp29', vcodec='h264') 
-</pre> 
  
 +  stream = ffmpeg.input('DeckLink Quad (8)')
 +  stream = ffmpeg.output(stream, 'dummy.mp4')
 +  ffmpeg.run(stream, format='decklink', format_code='Hp29', vcodec='h264')
 +  ffmpeg.run(stream, format='decklink', format_code='Hp29', vcodec='h264')
  
   ffmpeg -i test.mp4 -filter_complex "loop=2:2500" -vcodec h264 output.avi   ffmpeg -i test.mp4 -filter_complex "loop=2:2500" -vcodec h264 output.avi
  
-<pre> +  # play sequence in loop 
-# play sequence in loop +  # (ffmpeg.input('test.mp4').filter_('loop', "-1", "125") 
-# (ffmpeg.input('test.mp4').filter_('loop', "-1", "125") +  #     .output('DeckLink Quad (1)', pix_fmt='uyvy422', format='decklink') 
-#     .output('DeckLink Quad (1)', pix_fmt='uyvy422', format='decklink') +  #     .run() 
-#     .run() +  # )
-# ) +
-</pre>+
  
   ffmpeg -f dekclink -pix_fmt uyvy422 'DeckLink Quad (1)' -i /bigdata/damien/video_samples/testsrc_rawvideo_uyvy422_1920x1080_30.0_5_markup_box.avi -filter_complex "loop=-1:3000"   ffmpeg -f dekclink -pix_fmt uyvy422 'DeckLink Quad (1)' -i /bigdata/damien/video_samples/testsrc_rawvideo_uyvy422_1920x1080_30.0_5_markup_box.avi -filter_complex "loop=-1:3000"
  
 +adds black frames at the beginning
  
-adds black frames at the beginning 
  
-<pre> +  in_file = ffmpeg.input('test.mp4') 
-in_file = ffmpeg.input('test.mp4') +  marker = ffmpeg.input('color=c=black:s=1920x1080:r=24:d=1', format='lavfi') 
-marker = ffmpeg.input('color=c=black:s=1920x1080:r=24:d=1', format='lavfi') +  ffmpeg.concat( 
-ffmpeg.concat( +          marker.trim(start_frame=0, end_frame=10), 
-        marker.trim(start_frame=0, end_frame=10), +          in_file 
-        in_file +      ).output('test_marker.mp4', vcodec='h264').run()
-    ).output('test_marker.mp4', vcodec='h264').run() +
-</pre>+
  
  
francois/ffmpeg_usage.1580493255.txt.gz · Dernière modification : (modification externe)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki