{ "cells": [ { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ffmpeg version 4.1.5 Copyright (c) 2000-2020 the FFmpeg developers\n", " built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)\n", " configuration: --disable-debug --disable-doc --disable-ffplay --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-fontconfig --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxcb --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --enable-libbluray --enable-libzmq --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-libopenjpeg --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-libsrt --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib\n", " libavutil 56. 22.100 / 56. 22.100\n", " libavcodec 58. 35.100 / 58. 35.100\n", " libavformat 58. 20.100 / 58. 20.100\n", " libavdevice 58. 5.100 / 58. 5.100\n", " libavfilter 7. 40.101 / 7. 40.101\n", " libavresample 4. 0. 0 / 4. 0. 0\n", " libswscale 5. 3.100 / 5. 3.100\n", " libswresample 3. 3.100 / 3. 3.100\n", " libpostproc 55. 3.100 / 55. 3.100\n", "Input #0, lavfi, from 'mandelbrot=size=1280x720:rate=25':\n", " Duration: N/A, start: 0.000000, bitrate: N/A\n", " Stream #0:0: Video: rawvideo (RGB[0] / 0x424752), rgb0, 1280x720 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc\n", "Stream mapping:\n", " Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))\n", "Press [q] to stop, [?] for help\n", "[libx264 @ 0x55c132cde000] using SAR=1/1\n", "[libx264 @ 0x55c132cde000] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX XOP FMA4 LZCNT\n", "[libx264 @ 0x55c132cde000] profile High, level 3.1\n", "[libx264 @ 0x55c132cde000] 264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - 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=2 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=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00\n", "Output #0, mp4, to 'output_file.mp4':\n", " Metadata:\n", " encoder : Lavf58.20.100\n", " Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc\n", " Metadata:\n", " encoder : Lavc58.35.100 libx264\n", " Side data:\n", " cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1\n", "frame= 250 fps=9.2 q=-1.0 Lsize= 6070kB time=00:00:09.88 bitrate=5033.3kbits/s speed=0.363x \n", "video:6067kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.063375%\n", "[libx264 @ 0x55c132cde000] frame I:1 Avg QP:19.66 size: 46805\n", "[libx264 @ 0x55c132cde000] frame P:63 Avg QP:22.49 size: 37164\n", "[libx264 @ 0x55c132cde000] frame B:186 Avg QP:28.61 size: 20556\n", "[libx264 @ 0x55c132cde000] consecutive B-frames: 0.8% 0.0% 0.0% 99.2%\n", "[libx264 @ 0x55c132cde000] mb I I16..4: 34.8% 55.5% 9.8%\n", "[libx264 @ 0x55c132cde000] mb P I16..4: 1.1% 0.3% 0.0% P16..4: 40.9% 10.2% 7.9% 0.0% 0.0% skip:39.6%\n", "[libx264 @ 0x55c132cde000] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 30.2% 3.9% 1.8% direct: 3.2% skip:60.8% L0:45.1% L1:47.9% BI: 7.0%\n", "[libx264 @ 0x55c132cde000] 8x8 transform intra:40.1% inter:18.7%\n", "[libx264 @ 0x55c132cde000] coded y,uvDC,uvAC intra: 12.2% 52.8% 11.0% inter: 8.9% 18.6% 13.6%\n", "[libx264 @ 0x55c132cde000] i16 v,h,dc,p: 18% 4% 4% 74%\n", "[libx264 @ 0x55c132cde000] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 7% 32% 8% 10% 9% 5% 7% 2%\n", "[libx264 @ 0x55c132cde000] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 15% 13% 10% 10% 10% 10% 8% 8%\n", "[libx264 @ 0x55c132cde000] i8c dc,h,v,p: 32% 7% 17% 44%\n", "[libx264 @ 0x55c132cde000] Weighted P-Frames: Y:0.0% UV:0.0%\n", "[libx264 @ 0x55c132cde000] ref P L0: 59.8% 4.5% 25.3% 10.4%\n", "[libx264 @ 0x55c132cde000] ref B L0: 76.9% 17.8% 5.2%\n", "[libx264 @ 0x55c132cde000] ref B L1: 88.9% 11.1%\n", "[libx264 @ 0x55c132cde000] kb/s:4969.21\n" ] } ], "source": [ "%%bash\n", "ffmpeg -f lavfi -i mandelbrot=size=1280x720:rate=25 -c:v libx264 -pix_fmt yuv420p -t 10 -y output_file.mp4" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "total 7184\n", "-rw-r--r--. 1 anj anj 14471 Jun 14 23:17 generate-test-file.ipynb\n", "-rw-r--r--. 1 anj anj 6216119 Jun 14 23:18 output_file.mp4\n" ] } ], "source": [ "%%bash\n", "ls -l " ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "output_file.mp4
" ], "text/plain": [ "/home/anj/output_file.mp4" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import FileLink\n", "\n", "FileLink('output_file.mp4')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.9" } }, "nbformat": 4, "nbformat_minor": 4 }